Определение причины, по которой не запускается Windows-сервис .net - PullRequest
6 голосов
/ 22 июня 2010

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

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

Какие шаги я должен предпринять, чтобы определить причину, по которой служба не запустится?

Редактировать

Я выяснил, что было не так, благодаря некоторым предоставленным ответам, см. Мой ответ для того, каково было мое решение.

Ответы [ 2 ]

6 голосов
/ 22 июня 2010

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

В качестве альтернативы, вы можете добавить некоторый отладочный код (или код трассировки) в ваше приложение и использовать debugview из Sysinternals , чтобы увидеть, куда оно попадает.

4 голосов
/ 22 июня 2010

Итак, я понял это благодаря просмотру журнала событий от @Matthew Steeples и @Ben M.

Проблема заключалась в том, что служба записывает в журнал событий при запуске при подключении к серверу; однако журнал событий этой машины был полон, поэтому, когда служба пыталась записать в журнал событий, она потерпела неудачу, из-за чего возникла исключительная ситуация, которая снова не может быть записана в полный журнал событий.

Таким образом, если вы пишете в журнал событий, убедитесь, что он не заполнен, или что вы обрабатываете исключение!

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