Не удается запустить службу Windows с общей ошибкой
Вопрос
Я написал тривиальный сервис NT, используя VS2010, и он просто отлично устанавливается в моем окне разработки XPSP3, используя 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
в моем двоичном файле с замененного диска, который по какой-то причине сообщил об успехе.Выполняется InstallUtil
с помощью локального пути моя проблема устранена, служба теперь запускается корректно.
Решение
Сначала убедитесь, что служба установлена правильно, используя sc qc TestService
Убедитесь, что это полный путь (начинающийся с буквы диска) и попробуйте запустить исполняемый файл из командной строки.
Если вышеприведенное сработает, я бы попытался проверить разрешения для исполняемого файла.
Другие советы
Если ваш ... Bin Release xxxmyprojxxx.exe оказывается на сетевом дисков (даже при сопоставлении буквы диска), он не начнется с «Системная ошибка 2 ... система не может найти указанный файл»
Так что скопируйте DIR с EXE (который, надеюсь, включает в себя любые зависимости) в местный диск на машине (SAN или внутренний диск), НЕТ Сопоставленная сеть обмена/диск.