У меня есть две службы Windows, написанные на C # в соответствии с одинаковыми шаблонами и методологией.
Обе службы были протестированы на разработку на виртуальной машине Windows 7, а QA - на виртуальной машине Windows Server 2008.Обе службы устанавливались и удалялись много раз в этих тестовых средах без проблем, однако при установке в производственной среде (Windows Server 2008) одна из двух служб отказывается запускаться.
Для установки служб, которые мы используемInstallUtil.exe с компонентами ServiceInstaller и ServiceProcessInstaller, подключенными к службе.
Судя по всему, сбойная служба успешно устанавливается.InstallUtil.exe сообщает об успехе, и служба отображается в оснастке «Службы».Вы также можете найти службу в реестре по адресу HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Blah Blah.Однако, если вы попытаетесь запустить службу, вы получите следующее:
net start blah.blah.exe «Недопустимое имя службы.»
... или пройдя через оснастку «Службы»... "Windows не удалось запустить службу" Blah Blah "на локальном компьютере. Ошибка 1053: служба не ответила на запрос запуска или управления своевременно."
Я добавил некоторые записи событийконструктору класса обслуживания, который не работает, но он не вызывается.
Поскольку это производственный блок, на нем нет Visual Studio, и об удаленной отладке не может быть и речи.
Есть ли какой-либо другой способ получения отладочной информации о том, почемусбой службы не запускается?
Есть ли еще какая-то очевидная причина, по которой я мог бы увидеть этот тип проблемы?
Редактировать: Я должен был также упомянуть ... Единственное другое свидетельствопроблема в средстве просмотра событий Windows - два сообщения в системном журнале из диспетчера управления службами:
"Истекло время ожидания (30000 миллисекунд) в ожидании подключения службы Blah Blah.
«Служба Blah Blah не запустилась из-за следующей ошибки: Служба не ответила на запрос запуска или управления своевременно.»
Редактировать: Решено Проблема закончиласьэто комбинация ошибки конфигурации и ошибки, которая скрывала ее. См. мой ответ ниже для получения более подробной информации.