Nada como facilitar a vida da equipe de suporte no momento de instalar um serviço no servidor da empresa. Geralmente, os programadores de serviços utilizam o installutil passando como parâmetro o endereço do arquivo .exe. Funciona sem qualquer problema, mas porque não facilitar a vida do suporte e ao mesmo evitar erro?

Usado: Visual Studio 2010, Linguagem C#.NET, Plataforma: Windows Service.

Vou passar do pressuposto de que o serviço já está pronto e rodando. Lembro que para quem não sabe nada sobre criação de serviço no Windows, é necessário começar do zero. Aqui estou falando da parte final, ou seja, depois que o serviço já está pronto.

O serviço já foi criado, clique duas vezes em cima do arquivo .cs principal. A página vai abrir da cor cinza escrito no meio. (Imagem 1)


Imagem 1

Para gerar o instalador, clique com o botão direito em cima da tela cinza e escolha a opção de Add Installer. (Imagem 2)


Imagem 2

Ao escolher esta opção Add Installer, outro arquivo é gerado com o nome de ProjectInstaller.cs dentro do próprio projeto. (Imagem 3)


Imagem 3

Note que existem dois componentes de ferramenta no arquivo de instalação. Agora é necessário mexer dentro das propriedades de cada componente. Para isso, basta selecionar um dos dois e clicar F4.

Foi selecionado primeiro o nome serviceProcessInstaller. (Imagem 4)
Imagem 4

A única opção que precisa ser alterada é a Account, geralmente escolho o valor LocalService que usa o usuário do serviço local para instalar. Existem várias outras opções que podem ser escolhidas.


Imagem 5

Como dito antes, o LocalService instala com o usuário do serviço local. A opção NetworkService usa o usuário da administrador de rede. O LocalSystem usa o usuário do sistema e por último a opção User, é pedido o usuário na tela.

Selecionando agora a segunda opção do componente, o chamado serviceInstaller existem duas opções importantes para analisar. (Imagem 6)
Imagem 6

As duas partes mais importantes aqui são: DisplayName e StartType. O DisplayName Serve para colocar o nome do serviço que vai aparecer na tela Services do Sistema Operacional Windows 7. Fica mais fácil identificar quando o nome é padronizado. O segundo item é o StartType. Essa propriedade é aquela que vai ficar atribuída. Existem várias opções: Manual, Automático e Inativo. O automático é o que geralmente deixo isso porque se a máquina for reiniciada, o serviço será iniciado automaticamente. Lógico que depois de iniciado a primeira vez.

Tudo isso é para um melhor funcionamento do serviço, melhor forma de instalação e aparecimento na tela de Serviços. (Imagem 7)


Imagem 7

Espero que tenha gostado e qualquer dúvida pode entrar em contato.