Estou instalando um serviço do Windows usando as classes ServiceProcessInstaller
e ServiceInstaller
.
Usei o ServiceProcessInstaller
para definir o tipo de início, nome, etc. Mas como faço para definir a ação de recuperação para reiniciar?
Sei que posso fazer isso manualmente após a instalação do serviço, acessando o console de gerenciamento de serviços e alterando as configurações na guia de recuperação das propriedades do serviço, mas há uma maneira de fazer isso durante a instalação?
.net
windows-services
service
Raio
fonte
fonte
process.Close()
linha é inútil.reset= 0
está correta ereset=0
está incorreta. O uso correto dos espaços é crucial,reset=
é um argumento, seguido de um espaço, então0
.Depois de muitas tentativas, resolvi isso usando o aplicativo de linha de comando sc .
Eu tenho um arquivo em lote com installutil e sc. Meu arquivo de lote é semelhante a:
Se você deseja a documentação completa do comando sc, siga este link: SC.exe: comunica-se com o controlador de serviço e serviços instalados
Observação: você precisa adicionar um espaço após cada símbolo de igual (=). Exemplo: reset = 300
fonte
Não acho que seja parte da API .NET, mas isso pode ajudar:
Uma extensão do ServiceInstaller que permite a configuração de recuperação e inicialização automática
Instale um serviço do Windows do jeito que VOCÊ deseja! (Versão C #)
fonte
Encontrei o seguinte projeto que cuida dessas configurações, usando apenas código e chamadas Win API:
http://code.msdn.microsoft.com/windowsdesktop/CSWindowsServiceRecoveryPro-2147e7ac
fonte