Como criar um projecto de configuração para uma aplicação de serviço do Windows no Visual c#

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 816169
Sumário
Este artigo descreve como criar um projecto de configuração para uma aplicação de serviço do Windows (anteriormente denominado "serviço de NT"). Para tal, primeiro tem de criar uma solução que contenha um projecto de serviço do Windows simple que escreve uma entrada para o registo de aplicações. Em seguida, adicione um projecto de configuração para a solução para instalar o serviço de janela. Finalmente, inicie o serviço. Pode iniciar o serviço utilizando o item ' Services ' na pasta Ferramentas administrativas do menu Iniciar.

regressar ao início

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que tem de ter:
  • Microsoft Windows 2000, Windows XP, Windows Server 2003 ou um sistema operativo de Microsoft posterior com o quadro de .NET instalado
  • Microsoft Visual Studio .NET Enterprise, VisualStudio do Microsoft .NET Enterprise Architect, Microsoft Visual Studio 2005 ou Microsoft Visual Studio 2008.
Este artigo pressupõe que está familiarizado com os serviços do Windows. Se não estiver familiarizado com os serviços do Windows, consulte a referência primeira do REFERÊNCIAS secção deste artigo.

Este artigo também pressupõe que a conta de utilizador que utilizar para instalar e executar este serviço tem as permissões que tem de ter para instalar e iniciar os serviços e, também tem as permissões que tem de ter para aceder ao registo de eventos.

regressar ao início

Criar um projecto de configuração para um serviço do Windows

Esta secção descreve como criar um projecto de serviço do Windows e como utilizar um projecto compilado do programa de configuração para instalar o serviço do Windows.

Criar um projecto de serviço do Windows

  1. Inicie o Microsoft Visual Studio.
  2. No menu ficheiro , aponte paraNovoe, em seguida, clique em projecto.
  3. Clique em Projectos do Visual c# em Tipos de projectoe, em seguida, clique em Serviço do Windows em modelos.

    Nota No Visual Studio 2005 ou o Visual Studio 2008, expanda Visual c#<b00> </b00> em Tipos de projecto, clique em Windowse, em seguida, clique em Serviço do Windows em modelos.
  4. Tipo LogWriterService na caixa de texto nome e, em seguida, escreva C:\ na caixa de texto de localização . Clique em OK.
  5. No Solution Explorer, clique direito Service1.cse, em seguida, clique em ViewCode.
  6. O processador de eventos OnStart , substitua thecomments com o seguinte código:
    EventLog.WriteEntry("My simple service started.");
  7. No Solution Explorer, faça duplo clique emService1.cs.
  8. Na janela do Editor de código,Vista de estruturacom o botão direito e, em seguida, clique emPropriedades
  9. No painel Propriedades, clique na hiperligaçãoAdicionar Installer .
  10. No painel de propriedades paraServiceInstaller1, alterar a propriedade ServiceNamepara Serviço 1.
  11. Na janela do Editor de código na vista de estrutura, clique em ServiceProcessInstaller1.
  12. No painel Propriedades, altere a propriedade deconta para LocalSystem (O Serviço local e Serviço de rede valores estão disponíveis apenas no Microsoft Windows XP).
regressar ao início

Utilizar um projecto compilado do programa de configuração para instalar o serviço do Windows

Depois de concluir os passos descritos na secção anterior para configurar o projecto de serviço do Windows, siga estes passos para adicionar um projecto de implementação que pacotes a aplicação de serviço para que possa ser instalada a aplicação de serviço:
  1. Adicione um novo projecto a projecto LogWriterService. Para tal, siga estes passos:
    1. No Solution Explorer, com o botão direito solução «LogWriterService» (1 projecto), aponte para Adicionare, em seguida, clique em Novo projecto.
    2. Faça clique sobre o programa de configuração e projectos de implementação em Tipos de projectoe, em seguida, clique em Projecto de configuração em modelos.
    3. Na caixa de texto nome , escreva ServiceSetup.
    4. Tipo C:\ o texto de localização e, em seguida, clique OK.
  2. Informe o projecto de implementação que ao pacote. Para tal, siga estes passos:
    1. No Solution Explorer, com o botão direito ServiceSetup, aponte para Adicionare, em seguida, clique em Resultado do projecto
    2. Na caixa de diálogo Adicionar grupo de saída do projecto , na caixa de projecto , clique em LogWriterService
    3. Clique em Produção primáriae, em seguida, clique em OK.
  3. Para a correcta instalação, adicione apenas saída primário. Para adicionar as acções personalizadas, siga estes passos:
    1. No Solution Explorer, com o botão direito ServiceSetup, aponte para a vistae, em seguida, clique em Acções personalizadas
    2. Acções personalizadascom o botão direito e, em seguida, clique em Adicionar acção personalizada.
    3. Clique em Pasta de aplicaçãoe, em seguida, clique em OK.
    4. Clique primário de saída de LogWriterService (activo)e, em seguida, clique em OK.

      Repare que a saída primário é apresentado em instalar, consolidar, anulação e desinstalar.
  4. Por predefinição, os projectos de programa de configuração não são incluídos na configuração de compilação. Para criar a solução, utilize um dos seguintes métodos:
    • Método 1
      1. LogWriterServicecom o botão direito e, em seguida, clique em Criar.
      2. ServiceSetupcom o botão direito e, em seguida, clique em Criar.
    • Método 2
      1. No menu de criação , clique em Gestor de configuração para criar a solução completa.
      2. Clique para seleccionar a caixa de verificação Criar para ServiceSetup.
      3. Prima F7 para criar a solução completa. Quando a solução é criada, tem um pacote de instalação completo que está disponível para o serviço.
  5. Para instalar o serviço criado recentemente,ServiceSetupcom o botão direito e, em seguida, clique em instalar.
  6. Na caixa de diálogo ServiceSetup , clique emseguinte três vezes. Repare que uma barra de progresso aparece enquanto instala o theservice.
  7. Quando o serviço é instalado, clique emFechar.
regressar ao início

Lista de código completa

Service1.CS

using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.ServiceProcess;namespace LogWriterService{	public class Service1 : System.ServiceProcess.ServiceBase	{		/// <summary> 		/// Required designer variable.		/// </summary>		private System.ComponentModel.Container components = null;		public Service1()		{			// The Windows.Forms Component Designer must have this call.			InitializeComponent();			// TODO: Add any initialization after the InitComponent call		}		// The main entry point for the process		static void Main()		{			System.ServiceProcess.ServiceBase[] ServicesToRun;				// More than one user service may run in the same process. To add			// another service to this process, change the following line to			// create a second service object. For example,			//			//   ServicesToRun = New System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};			//			ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };			System.ServiceProcess.ServiceBase.Run(ServicesToRun);		}		/// <summary> 		/// Required method for Designer support - do not modify 		/// the contents of this method with the code editor.		/// </summary>		private void InitializeComponent()		{			components = new System.ComponentModel.Container();			this.ServiceName = "Service1";		}		/// <summary>		/// Clean up any resources that are being used.		/// </summary>		protected override void Dispose( bool disposing )		{			if( disposing )			{				if (components != null) 				{					components.Dispose();				}			}			base.Dispose( disposing );		}		/// <summary>		/// Set things in motion so your service can do its work.		/// </summary>		protected override void OnStart(string[] args)		{			EventLog.WriteEntry("My simple service started.");		} 		/// <summary>		/// Stop this service.		/// </summary>		protected override void OnStop()		{			// TODO: Add code here to perform any tear-down necessary to stop your service.		}	}}
regressar ao início

Verificar se funciona

  1. No painel de controlo, faça duplo clique em Ferramentas administrativase, em seguida, faça duplo clique em Serviços
  2. Serviço 1com o botão direito e, em seguida, clique emIniciar
  3. Utilize um dos seguintes métodos para verificar se um islogged de evento no registo de eventos:
    • Método 1
      1. No painel de controlo, faça duplo clique em Ferramentas administrativase, em seguida, faça duplo clique em Visualizador de eventos.
      2. Clique em Registo de aplicações no painel da esquerda e, em seguida, localize o registo de eventos do serviço do painel da direita.
    • Método 2
      1. No Explorador do servidor, expanda os servidores, expandaNome do computador, expanda registos de eventos, expanda a aplicaçãoe, em seguida, expanda serviço 1. Lembrar-se de que o serviço 1 é o nome da classe, não o próprio serviço. Por conseguinte, o serviço 1 é utilizado como o nome da aplicação. (Está para além do âmbito do presente artigo a explicar como personalizar os nomes.)
      2. Mova o cursor sobre as entradas do registo. A segunda entrada de cima deve ler-se "o meu serviço simple iniciado".
regressar ao início

Resolução de problemas

A documentação do SDK do quadro indica o seguinte:
O ficheiro executável compilado que cria um projecto de aplicação de serviço tem de ser instalado no servidor para que o projecto possa funcionar de forma significativa. Não é possível depurar ou executar uma aplicação de serviço premindo F5 ou F11; é possível executar imediatamente um serviço ou um passo em seu código. Em vez disso, tem de instalar e iniciar o serviço e, em seguida, anexar um depurador ao processo do serviço.
Para mais informações, visite o seguinte Web site da Microsoft Developer Network (MSDN):
Depuração de aplicações do serviço Windowshttp://msdn2.microsoft.com/en-us/library/aa984342 (VS.71).aspx
regressar ao início
Referências
Para criar um serviço do Windows útil que demonstra como instalar, como testar e como o serviço de depuração, visite o seguinte Web site da MSDN:
Introdução às aplicações de serviço do Windowshttp://msdn2.microsoft.com/en-us/library/Aa983650 (VS.71).aspx
Para mais informações, consulte o seguinte artigo da emissão de Dezembro de 2001, da MSDN Magazine:
Serviços do Windows: Novas Classes Base no .NET torna a escrita de um serviço do Windows mais fácil
http://msdn.microsoft.com/msdnmag/issues/01/12/NetServ/default.aspx
regressar ao início

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 816169 - Última Revisão: 04/08/2016 09:49:00 - Revisão: 3.0

Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# 2005 Express Edition, Microsoft Visual C# 2008 Express Edition

  • kbeventlog kbsetup kbserviceprocess kbservice kbhowtomaster kbmt KB816169 KbMtpt
Comentários