Служба Windows не запускается при загрузке
Прежде чем я углублюсь в текст этого, имейте в виду, что я уже попробовал следующее:
- Установка сервисных зависимостей
- Установка расширенного тайм-аута
Теперь, сказав это, вы, вероятно, можете догадаться, в чем заключается моя проблема: моя служба Windows не запускается при загрузке, но я могу запустить ее вручную в диспетчере служб. Журнал событий показывает, что он попытался запуститься при загрузке, но не смог своевременно ответить.
Служба не является чем-то необычным, поскольку она затрагивает только конечную точку SOAP, выполняет некоторые системные команды и выполняет некоторые запросы WMI. Я установил, что служба зависит от службы DNS и службы WMI, но она все еще не запускается (время ожидания), что говорит мне о том, что что-то еще не позволяет ей работать.
Я регистрирую сервис, используя плагин NSIS SimpleSC, используя следующие опции:
Service Type: SERVICE_WIN32_OWN_PROCESS
Start Type: SERVICE_AUTO_START
Dependencies: Winmgmt, Netman, Eventlog, Dnscache
User Name: LocalSystem
Что мне не хватает?
2 ответа
Оказывается, эта проблема была на уровне ниже, чем порядок старта или что-то в этом роде. Это было связано с некоторым кодом инициализации, который я имел в конструкторе моего сервиса. Как только я реорганизовал его, чтобы переместить этот код за пределы конструктора, все работало хорошо.
Спасибо @AljoshaBre и @Peter K. за помощь.
Попробуйте использовать SetServiceStatus в вашем сервисе, чтобы дать ему время. И имейте в виду, порядок загрузки важен.