Что означает код ошибки Windows 1082 (ERROR_NO_RECOVERY_PROGRAM)?

 
Предыдущий Следующий
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 и проверьте фактически сохранённые значения.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.