Запуск службы Windows из кода при помощи ManagedInstallerClass

Материал из Wiki Test Lab
Перейти к: навигация, поиск

Назад    Главная
 

Запуск службы Windows из кода при помощи ManagedInstallerClass.

Не так давно мне потребовалось запустить службу Windows, написанную на C#, напрямую из кода, не прибегая к использованию Installutil.exe из командной строки. После некоторых поисков, было выбрано решение, описанное под катом.

Однажды я в очередной раз листал хабр на тему отладки служб Windows, написанных на C#. Понравилась идея запускать службу в виде консольного приложения с помощью некого параметра командной строки. И тут я подумал, что неплохо было бы также управлять работой службы также через такие же параметры. К сожалению, такой информации на хабре мне найди не удалось, и я принялся штурмовать Google.

В .NET существует класс ManagedInstallerClass. Microsoft не советует вызывать его непосредственно из кода, но, как известно, если очень хочется — то можно. У этого класса есть метод IstallHelper. Вот он то нам и нужен.

Предположим, что если при запуске приложения с аргументом /install нужно установить службу, то код будет выглядеть следующим образом:

Читать дальше...

Личные инструменты