Я установка службы Windows с помощью ServiceProcessInstaller
и ServiceInstaller
классов.
Я использовал, ServiceProcessInstaller
чтобы установить тип запуска, имя и т. Д. Но как мне установить действие восстановления на перезапуск?
Я знаю, что могу сделать это вручную после установки службы, перейдя в консоль управления службами и изменив настройки на вкладке восстановления свойств службы, но есть ли способ сделать это во время установки?
process.Close()
строка бесполезна.reset= 0
он правильный иreset=0
неправильный. Правильное использование пробелов имеет решающее значение,reset=
это один аргумент, за которым следует пробел0
.После многих попыток я решил это с помощью приложения командной строки sc .
У меня есть командный файл с installutil и sc. Мой командный файл похож на:
installutil.exe "path to your service.exe" sc failure "your service name" reset= 300 command= "some exe file to execute" actions= restart/20000/run/1000/reboot/1000
Если вам нужна полная документация по команде sc, перейдите по этой ссылке: SC.exe: взаимодействует с контроллером служб и установленными службами.
Примечание. После каждого символа равенства (=) необходимо добавить пробел. Пример: reset = 300
источник
Я не думаю, что это часть .NET API, но это может помочь:
Расширение ServiceInstaller, обеспечивающее восстановление и настройку автозапуска
Установите службу Windows так, как ВЫ хотите! (Версия C #)
источник
Я нашел следующий проект, который заботится об этих настройках, используя только код и вызовы Win API:
http://code.msdn.microsoft.com/windowsdesktop/CSWindowsServiceRecoveryPro-2147e7ac
источник