Ошибка 1053: служба не ответила на запрос запуска или управления своевременно - PullRequest
2 голосов
/ 15 ноября 2011

У меня есть исполняемый файл, который я хотел бы установить для запуска в качестве службы. С помощью средства sc.exe, предоставляемого Windows (см. Статью базы знаний здесь: http://support.microsoft.com/kb/251192), Я успешно "зарегистрировал" службу. Однако, когда я захожу в консоль управления службами (Пуск-> Выполнить-> services.msc) и запустив сервис, я получаю следующую ошибку:

Ошибка 1053: служба не ответила на запрос запуска или управления своевременно.

После прочтения у меня начальное впечатление, что исполняемые файлы службы должны соответствовать API, и что среди требуемых функций / методов, на которые служба должна реагировать, есть команда start / stop / restart. Однако это, кажется, сводит на нет весь смысл инструмента sc.exe, который рекламируется с возможностью превращения любого исполняемого файла в службу.

Может кто-нибудь пролить свет на это для меня?

Ответы [ 3 ]

3 голосов
/ 06 декабря 2012

Это код, который вы ищете:

sc create SERVICENAME binPath= "cmd /c c:\programlocation\program.exe" 

Это не избавит вас от ошибки 1053, но по крайней мере это применимо к консоли (CMD), которая уже выполнила работу по запуску приложения в фоновом режиме (проверьте диспетчер задач для подтверждения).

1 голос
/ 10 марта 2012

Взгляните на Topshelf-project , который превращает многие произвольные исполняемые файлы в сервисы.

Когда вы ссылаетесь на Topshelf, вы можете запустить свой exe из командной строки или установить его в Windows Services с помощью:

your.exe install

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

0 голосов
/ 15 ноября 2011

Одной из наиболее вероятных причин такого поведения является то, что запускаемое приложение отображает запрос на взаимодействие с конечным пользователем (окно сообщения, приглашение ввода, диалоговое окно лицензирования и т. Д.).Мы сталкивались с этим не раз.Обычно это происходит с приложениями, которые не предназначены для работы в качестве служб.Вы можете попробовать запустить службу в качестве локальной системы и установить флажок Allow service to interact with desktop.

Другая возможность состоит в том, что пользователь, для которого настроена служба, не имеет доступа к ресурсам (дискам, базам данных и т. Д.).).Если процесс работает правильно в интерактивном режиме, попробуйте изменить учетные данные пользователя службы на своего пользователя и посмотреть, не приведет ли это к дальнейшим действиям.

Обновление

Извинения, я предположил, чтовопрос касался srvany , которое вы ищете.

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