| Предыдущий | Следующий |
| ERROR_CANNOT_DETECT_PROCESS_ABORT | ERROR_SERVICE_NOT_IN_EXE |
ERROR_NO_RECOVERY_PROGRAM
Для службы не настроена программа восстановления
Код ERROR_NO_RECOVERY_PROGRAM относится к действиям Service Control Manager после сбоя службы. Он появляется, когда конфигурация предполагает действие SC_ACTION_RUN_COMMAND, но строка команды восстановления отсутствует. Это не означает, что исполняемый файл самой службы потерян: команда восстановления хранится отдельно от пути запуска службы.
Считайте конфигурацию через SERVICE_CONFIG_FAILURE_ACTIONS и сопоставьте массив действий с полем lpCommand. Если политика должна лишь перезапускать службу, используйте SC_ACTION_RESTART. Если действительно нужен внешний восстановительный процесс, задайте контролируемый абсолютный путь, проверьте права на файл и учётную запись, от имени которой Service Control Manager сможет запустить команду.
Что проверить
- Найдите все действия
SC_ACTION_RUN_COMMANDи убедитесь, что для них задана команда. - Не путайте программу восстановления с основным бинарным файлом службы.
- После изменения конфигурации перечитайте её через API и проверьте фактически сохранённые значения.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.