Eu criei um programa de computador, que instalei como um serviço do Windows, e adicionei uma dependência para outro serviço do Windows, o "KEPServerEX 6.9 Runtime", como você pode ver nesta captura de tela:
Eu testei essa dependência de diferentes maneiras:
- Reiniciei meu computador e tentei verificar se o "KEPServerEX 6.9 Runtime" foi inicializado antes do meu programa.
- Eu parei o "KEPServerEX 6.9 Runtime" e esperava que meu programa também fosse interrompido.
Estes são os meus resultados:
- Não faço ideia: quando meu programa é iniciado e a entrada é criada no log de eventos. Este não é o caso do "KEPServerEX 6.9 Runtime", nem o "KEP..." cria logs, então não tenho ideia de onde ou não esse teste foi bem-sucedido.
- Meu programa não parou.
Mesmo se eu conseguir provar que meu programa só inicia após "KEPServerEX 6.9 Runtime" ao reiniciar meu computador, eu me pergunto (vendo o ponto 2) qual é o sentido das dependências do Windows Service.
Estou trabalhando em um computador Windows-10, enquanto meu cliente está trabalhando com o Windows Server 2016. Gostaria que as respostas fossem válidas para ambos os sistemas operacionais.
Para sua informação: "KEPServerEX 6.9 Runtime" é uma ferramenta comercial, não posso modificá-la.
Da configuração sc.exe da Microsoft :
Essa é a única razão para dependências - colocar alguma ordem no processo de inicialização do Windows.
Após a inicialização, as dependências não têm efeito, exceto ao reiniciar o serviço dependente.