Служба Windows не запускается автоматически - PullRequest
1 голос
/ 10 декабря 2011

У меня проблема с сервисом, который не запускается автоматически при перезагрузке сразу после установки.

Я создаю сервис, выполнив:

sc create MyService binPath= "C:\path to service\MyService.exe" start= auto

После перезагрузки служба не запустилась автоматически.
Однако, если я выполню:

sc create MyService binPath= "C:\path to service\MyService.exe" start= auto
net start MyService
net stop  MyService

и перезагрузка ... служба запускается ... (Тот же результат, если не выполнить net stop MyService

Почему net start ... необходимо вызывать хотя бы один раз после sc create, чтобы служба запускалась автоматически?
Служба должна запускаться ПОСЛЕ следующего перезапуска, поэтому вызов net start не подходит для меня.

Ответы [ 2 ]

1 голос
/ 09 января 2012

У меня была похожая проблема, но я просто использовал класс ServiceController для автоматического запуска после завершения установки. Моему сервису не удавалось запустить только сразу после установки (опять же без ошибок), но после того, как пользователь вошел в систему или перезагрузился, служба была запущена и работала без проблем.

0 голосов
/ 20 января 2012

Использование класса serviceController для автоматического запуска после завершения установки также работает для меня, но у меня была еще одна проблема, связанная с тем, что служба windows не запускалась автоматически.Проблема в этом случае заключалась в том, что служба молча отказывала, потому что она пыталась установить соединение SQL до того, как служба SQL была инициирована.

Использование метода Thread.Sleep поместило задержку в мою службу Windows, которая исправила этопроблема, поэтому всегда стоит проверять зависимости служб.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...