Gerando instalador de serviço


por Mauricio Junior em 1/1/2011 0

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.
voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Evento em Brasília de Tecnologia
Windows Phone 7.1 Mango
Criando Alias no Pacote
As várias maneiras de mandar e-mail utilizando .NET
TV e Internet, um casamento perfeito
Usando CalendarExtender para Mês e Ano
Botão abrindo janela de forma modal
Vídeo: Análise do Android 3.0 por um especialista
ModalDialogExtender
Customizando o Membership e Role Provider
iGas - Sistema de Controle de Combustível
Lendo Arquivo txt usando Visual Studio.NET 2005
Trabalhando com GridView e DataKeyNames com Várias Chaves
Usando ProgressBar com Visual Studio.NET 2005
Sistema iGas - Controle de Gasolina
Search do Windows Live em Seu Site
Novo AjaxControlToolkit e Visual Studio 11
Skyfire - browser mobile
GridView Parte III
Instalando o .NET Compact Framework 2.0 SP2 em seu Dispositivo Móvel
Visual SourceSafe - Série 4
Método SHA1
Padrões de nomenclaturas
Criando e Lendo Cookie
ReportViewer sem DataSet Tipado e gerando PDF
Visual SourceSafe 2 / 3 parte
Trabalhando com ENUM
Upload sempre NULL
Trabalhando com GridView e RowCommand
Dica para buscar nome de tabelas ou stored procedures dentro do banco de dados
Windows 7 funciona até no Mac
Máscara valor que funciona
Você tem boa postura no trabalho?
Como criar uma tabela dinâmica com ASP.NET
Pegando IP da Máquina com CSharp