Служба Windows не запускается из-за общей ошибки

Я написал тривиальную службу NT с помощью VS2010, и она отлично устанавливается на мой XPSP3 dev с помощью InstallUtil. Однако, когда я запускаю net start TestService, я получаю общую ошибку:
The TestService service failed to start due to the following error: The system cannot find the path specified.

Эта же ошибка также записывается в системный журнал событий, к сожалению, без каких-либо подробностей о том, какой указанный путь net start не понравился. Итак, я запустил Filemon, но мне не повезло, ни один вывод не мог пролить свет на мой сбойный сервис.

Служба работает под учетной записью локальной службы.

Какие-нибудь советы по устранению этой проблемы?

РЕДАКТИРОВАТЬ: Спасибо всем за советы. DLL были в порядке, блоки catch не работали, у меня были блоки try / catch вокруг InitializeComponent и OnStart методов. Приведенные ниже инструкции по проверке пути были наводкой. Я совершил очевидную ошибку, я запустил InstallUtil на моем двоичном файле с диска SUBST, который по какой-то причине сообщил об успехе. Запуск InstallUtil с локального пути устранил мою проблему, теперь служба запускается правильно.


person Chris O    schedule 18.01.2011    source источник
comment
Попробуйте добавить catch блоков с кодом регистрации. Кроме того, убедитесь, что вы не пропустите ни одной библиотеки DLL.   -  person SLaks    schedule 18.01.2011


Ответы (2)


Сначала убедитесь, что служба установлена ​​правильно, используя sc qc TestService. Убедитесь, что это полный путь (начиная с буквы диска), и попробуйте запустить исполняемый файл из командной строки.

Если вышеуказанное сработает, я бы попытался проверить права доступа к исполняемому файлу.

person John    schedule 18.01.2011
comment
Кроме того, служба обычно не запускается с сетевого пути. убедитесь, что путь является локальным. - person J-16 SDiZ; 18.01.2011

Если ваш ... bin \ Release \ xxxmyprojxxx.exe находится на сетевом диске (даже если он привязан к букве диска), он НЕ запустится с сообщением «Системная ошибка 2 ... система не может найти файл. указано »

Поэтому скопируйте каталог с исполняемым файлом (который, надеюсь, включает в себя все зависимости) на локальный диск на машине (san или внутренний диск), НЕ подключенный сетевой ресурс / диск.

person Doc    schedule 28.07.2016