Служба Windows не запускается после завершения работы
Я создал приложение-службу Windows на языке c++. Служба автозапуска запускается после перезагрузки ПК. Я обнаружил, что после выбора пункта закрыть в меню Windows служба не запускается. Запись реестра в разделе "службы" существует, и запрос к ней с помощью "sc" указывает, что она установлена, но исполняемый файл не запущен, и я могу удалить файл .exe и все равно получить указание на то, что служба установлена. В чем может быть причина этого?
Что я уже пробовал:
Использование опции "автозапуск" при создании сервиса.
Я обнаружил, что если я устанавливаю драйвер, он всегда запускается независимо от того, как был выключен компьютер. Что касается службы, то она всегда запускается после мягкой перезагрузки, поэтому я думаю, что это скорее проблема с тем, как Windows работает после жесткой перезагрузки.
0x01AA
ля.) "... можно удалить exe-файл и все равно получить указание на то, что служба установлена"
Это очень нормально, информация о сервисе есть в реестре.
б.) мягкая перезагрузка против жесткой перезагрузки
Странный. Может быть, зависимость, на которую вы не обратили внимания?
Michael Haephrati
Я использую "sc query <service name>. После жесткой перезагрузки сервер появляется установленным, но в состоянии "стоп". Если я наберу "sc start <service name>", Все будет хорошо. Проблема в том, что он не запускается.
Существует много сообщений об этой проблеме: https://superuser.com/questions/1026496/automatic-services-doesnt-start-automatically-after-windows-restart