Um serviço do windows pode ser executado várias vezes (usando configurações diferentes)?

3

Um serviço do Windows (possivelmente copiado para vários locais) pode ser executado várias vezes usando configurações diferentes (por exemplo, se o serviço suportar argumentos de linha de comando)?

Um serviço parece ser instalado apenas uma vez, pois o nome precisa ser único.

Este cenário é possível e qual é a melhor maneira de fazer isso?

    
por reinier 03.09.2010 / 13:53

2 respostas

5

Essa é a base para o "svchost.exe", ele recebe apenas nomes e parâmetros de serviço diferentes.

Isso ajudará: link

    
por 03.09.2010 / 13:56
1

Se por várias instâncias do mesmo serviço, você quer dizer diferentes instâncias do mesmo executável, então com certeza. Você só precisa criar várias entradas de "serviço" para ele na tabela de serviços, com diferentes nomes e diferentes opções de linha de comando.

Grizly parece estar falando de uma coisa diferente, em que vários serviços são executados dentro do mesmo processo, geralmente uma instância de svchost.exe . Isso exige que eles usem o mesmo executável, embora cada serviço hospedado por svchost pareça especificar uma DLL e (opcionalmente) um ponto de entrada ServiceMain na subchave Parameters da chave de serviço. (Obviamente, os detalhes do svchost.exe usage não parecem estar documentados - provavelmente para evitar que as pessoas tentem fazer coisas malucas como carregar alguma versão do .NET framework em uma das instâncias críticas do sistema, o que eventualmente leva a algum outro serviço tentando carregar uma versão diferente do framework para o mesmo, e isso seria uma bagunça completa ...)

    
por 28.11.2010 / 20:08