Установка службы Windows - без ошибок, но это не происходит в диспетчере управления службами
Я создал службу Windows в C#, и я пытаюсь установить его для отладки с помощью installutil, как рекомендовано здесь: http://msdn.microsoft.com/en-us/library/sd8zc8ha.aspx
Программа установки сообщает, что установка завершена. Однако в диспетчере управления службами ничего не появляется.
Я пробовал это на Server 2008 и XP с тем же результатом.
Есть идеи?
3 ответа
У моего коллеги была более или менее идентичная проблема.
Вы добавили установщик в свой проект? Для установки службы вам необходимо добавить установщик в ваш проект Visual Studio. Самый простой способ добавить установщик в Visual Studio - открыть службу в режиме разработки, щелкнуть правой кнопкой мыши область проектирования и выбрать "Добавить установщик". Это добавит файл ProjectInstaller.cs, содержащий сам объект ServiceInstaller и объект ServiceProcessInstaller. Добавив установщик, вы можете установить имя службы, описание и другие параметры, которые будут использоваться при установке службы. Если вы сейчас попытаетесь использовать InstallUtil, ваша служба должна быть установлена и должна появиться в списке служб.
У меня была похожая проблема (сборщик сборки, ошибок нет, сервис не отображается в services.msc
) но другое решение, так как я настроил установщики.
В моем случае Сервис-проект Application Properties
(Alt-Enter, Application-tab) Объект запуска был (not set)
как показано ниже:
Выбор стандартного .Program и перестройка службы и установщика работали (служба появилась в services.msc
).
Установка этого свойства является одним из шагов в пошаговом руководстве по установке службы MSDN, на которое ссылается этот ответ SO. Обязательно выполните все шаги!
Я не могу говорить конкретно о каких-либо проблемах, которые являются ошибкой C# или.NET, но у меня есть описание того, что должно произойти для установки службы и работы в форме хорошо документированной среды (включая исходный код) для написания услуг в Lua. Я предлагаю это здесь как пример другого способа сделать это, потому что иногда может быть полезно просто смотреть на вещи с другой точки зрения.
Отказ от ответственности: это очень на уровне альфа-качества, и да, я его автор.
Фреймворк имеет весь код, необходимый для взаимодействия с Windows SCM для установки и удаления службы.