Mam prosty projekt usługi Windows. Przestrzegałem instrukcji pod adresem http://msdn.microsoft.com/en-us/library/zt39148a.aspx w tym dodawanie akcji niestandardowych.
Po uruchomieniu kompilacji w trybie Release dla konfiguracjiprojekt. Używam .msi na serwerze, na którym chciałbym, aby usługa była uruchomiona. Po otwarciu Menedżera usług pojawia się usługa. Mogę nawet ręcznie uruchomić usługę i działa dokładnie tak, jak tego potrzebuję.
Chciałbym jednak uruchomić tę usługęco 5 minut, więc ustawiłem zadanie w Harmonogramie zadań i wskazałem .exe mojej usługi Windows na zadanie. Jednak gdy harmonogram zadań uruchamia usługę Windows, pojawia się następujący błąd:
Nie można uruchomić usługi. Proces serwisowy nie mógł połączyć się z kontrolerem usługi
Przeprowadziłem wiele badań na ten temat, ale nic nie wymyśliłem. Czy ktoś ma jakieś pomysły na to, co może to powodować?
Odpowiedzi:
2 dla odpowiedzi № 1OK, to nie zadziałało. Możesz uruchomić exe usługi bezpośrednio, tak jak w Harmonogramie zadań. użyj polecenia „Net start” aby uruchomić usługę.
Upewnij się, że w zaplanowanym zadaniu zaznacz pole „Uruchom z najwyższymi uprawnieniami”, aby uniknąć kontroli konta użytkownika, jeśli korzystasz z systemu Windows Vista lub nowszego.
1 dla odpowiedzi nr 2
Moja odpowiedź nie została poprawnie sformatowana w komentarzachwięc chciałem poinformować wszystkich na wypadek, gdyby to znaleźli. Zasadniczo właśnie utworzyłem plik .bat, a następnie w tym pliku .bat umieściłem następujące dwie linie:
NET START MyServiceName
NET STOP MyServiceName
Polecenie NET STOP jest synchroniczne i będzie czekać na zakończenie usługi przed zatrzymaniem usługi.
Dzięki za pomoc!