Como: Adicionar instaladores ao aplicativo de serviçoHow to: Add Installers to Your Service Application

O Visual Studio tem componentes de instalação que podem instalar recursos associados com seus aplicativos de serviço.Visual Studio ships installation components that can install resources associated with your service applications. Os componentes de instalação registram um serviço individual no sistema em que ele está sendo instalado e informam o Gerenciador de Controle de Serviços que o serviço existe.Installation components register an individual service on the system to which it is being installed and let the Services Control Manager know that the service exists. Ao trabalhar com um aplicativo de serviço, você pode selecionar um link na janela Propriedades para adicionar automaticamente os instaladores apropriados ao projeto.When you work with a service application, you can select a link in the Properties window to automatically add the appropriate installers to your project.

Observação

Os valores de propriedade para o serviço são copiados da classe de serviço para a classe de instalador.Property values for your service are copied from the service class to the installer class. Se você atualizar os valores de propriedade na classe de serviço, eles não serão atualizados automaticamente no instalador.If you update the property values on the service class, they are not automatically updated in the installer.

Quando você adiciona um instalador ao projeto, uma nova classe (que, por padrão, é chamada ProjectInstaller) é criada no projeto e instâncias dos componentes de instalação apropriados são criados dentro dela.When you add an installer to your project, a new class (which, by default, is named ProjectInstaller) is created in the project, and instances of the appropriate installation components are created within it. Essa classe age como um ponto central para todos os componentes de instalação que o projeto precisa.This class acts as a central point for all of the installation components your project needs. Por exemplo, se você adicionar um segundo serviço ao aplicativo e clicar no link Adicionar Instalador, não será criada uma segunda classe de instalador. Nesse caso, o componente de instalação adicional necessário para o segundo serviço será adicionado à classe existente.For example, if you add a second service to your application and click the Add Installer link, a second installer class is not created; instead, the necessary additional installation component for the second service is added to the existing class.

Você não precisa realizar nenhuma codificação especial dentro dos instaladores para fazer com que seus serviços sejam instalados corretamente.You do not need to do any special coding within the installers to make your services install correctly. No entanto, ocasionalmente, será interessante modificar o conteúdo dos instaladores se você precisar adicionar uma funcionalidade especial ao processo de instalação.However, you may occasionally need to modify the contents of the installers if you need to add special functionality to the installation process.

Observação

As caixas de diálogo e os comandos de menu que você vê podem ser diferentes dos descritos na Ajuda, dependendo da sua edição ou das configurações ativas.The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. Para alterar as configurações, escolha Importar e Exportar Configurações no menu Ferramentas.To change your settings, choose Import and Export Settings on the Tools menu. Para obter mais informações, confira Personalizar o IDE do Visual Studio.For more information, see Personalize the Visual Studio IDE.

Para adicionar instaladores ao seu aplicativo de serviçoTo add installers to your service application

  1. No Gerenciador de Soluções, acesse a exibição Design do serviço para o qual deseja adicionar um componente de instalação.In Solution Explorer, access Design view for the service for which you want to add an installation component.

  2. Clique na tela de fundo do designer para selecionar o serviço em si, em vez de um de seus conteúdos.Click the background of the designer to select the service itself, rather than any of its contents.

  3. Como o foco no designer, clique com o botão direito do mouse e clique em Adicionar Instalador.With the designer in focus, right-click, and then click Add Installer.

    A nova classe ProjectInstaller e dois componentes de instalação, ServiceProcessInstaller e ServiceInstaller, são adicionados ao projeto e os valores de propriedade do serviço são copiados para os componentes.A new class, ProjectInstaller, and two installation components, ServiceProcessInstaller and ServiceInstaller, are added to your project, and property values for the service are copied to the components.

  4. Clique no componente ServiceInstaller e verifique se o valor da propriedade ServiceName está definido com o mesmo valor que o da propriedade ServiceName no serviço em si.Click the ServiceInstaller component and verify that the value of the ServiceName property is set to the same value as the ServiceName property on the service itself.

  5. Para determinar como o serviço será iniciado, clique no componente ServiceInstaller e defina a propriedade StartType para o valor apropriado.To determine how your service will be started, click the ServiceInstaller component and set the StartType property to the appropriate value.

    ValorValue ResultadoResult
    Manual O serviço precisará ser iniciado manualmente após a instalação.The service must be manually started after installation. Para obter mais informações, confira Como: Iniciar serviços.For more information, see How to: Start Services.
    Automatic O serviço será iniciado sozinho, sempre que o computador for reiniciado.The service will start by itself whenever the computer reboots.
    Disabled Não é possível iniciar o serviço.The service cannot be started.
  6. Para determinar o contexto de segurança no qual o serviço será executado, clique no componente ServiceProcessInstaller e defina os valores de propriedade apropriados.To determine the security context in which your service will run, click the ServiceProcessInstaller component and set the appropriate property values. Para obter mais informações, confira Como: Especificar o contexto de segurança para serviços.For more information, see How to: Specify the Security Context for Services.

  7. Substitua todos os métodos para os quais você precise realizar um processamento personalizado.Override any methods for which you need to perform custom processing.

  8. Execute as etapas 1 a 7 para cada serviço adicional no projeto.Perform steps 1 through 7 for each additional service in your project.

    Observação

    Para cada serviço adicional no projeto, você precisará adicionar um componente ServiceInstaller adicional à classe ProjectInstaller do projeto.For each additional service in your project, you must add an additional ServiceInstaller component to the project's ProjectInstaller class. O componente ServiceProcessInstaller adicionado na etapa três funciona com todos os instaladores de serviço individuais no projeto.The ServiceProcessInstaller component added in step three works with all of the individual service installers in the project.

Consulte tambémSee also