Como: Adicionar instaladores ao aplicativo de serviço

Observação

Este artigo não se aplica aos serviços hospedados no .NET. Para obter o conteúdo mais recente sobre os Serviços Windows usando Microsoft.Extensions.Hosting.BackgroundService e o modelo de Serviço de Trabalho, confira:

O Visual Studio tem componentes de instalação que podem instalar recursos associados com seus aplicativos de serviço. 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. Ao trabalhar com um aplicativo de serviço, você pode selecionar um link na janela Propriedades para adicionar automaticamente os instaladores apropriados ao projeto.

Observação

Os valores de propriedade para o serviço são copiados da classe de serviço para a classe de instalador. Se você atualizar os valores de propriedade na classe de serviço, eles não serão atualizados automaticamente no instalador.

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. Essa classe age como um ponto central para todos os componentes de instalação que o projeto precisa. 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.

Você não precisa realizar nenhuma codificação especial dentro dos instaladores para fazer com que seus serviços sejam instalados corretamente. No entanto, ocasionalmente, será interessante modificar o conteúdo dos instaladores se você precisar adicionar uma funcionalidade especial ao processo de instalação.

Observação

As caixas de diálogo e os comandos de menu encontrados podem diferir daqueles descritos na Ajuda, dependendo das configurações ativas ou edição. Para alterar suas configurações, selecione Importar e Exportar Configurações no menu Ferramentas . Para obter mais informações, confira Personalizar o IDE do Visual Studio.

Para adicionar instaladores ao seu aplicativo de serviço

  1. No Gerenciador de Soluções, acesse a exibição Design do serviço para o qual deseja adicionar um componente de instalação.

  2. Clique na tela de fundo do designer para selecionar o serviço em si, em vez de um de seus conteúdos.

  3. Com o foco no designer, clique com o botão direito do mouse e, em seguida, clique em Adicionar Instalador.

    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.

  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.

  5. Para determinar como o serviço será iniciado, clique no componente ServiceInstaller e defina a propriedade StartType para o valor apropriado.

    Valor Result
    Manual O serviço precisará ser iniciado manualmente após a instalação. Para obter mais informações, confira Como iniciar serviços.
    Automatic O serviço será iniciado sozinho, sempre que o computador for reiniciado.
    Disabled Não é possível iniciar o serviço.
  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. Para obter mais informações, confira Como especificar o contexto de segurança para serviços.

  7. Substitua todos os métodos para os quais você precise realizar um processamento personalizado.

  8. Execute as etapas 1 a 7 para cada serviço adicional no projeto.

    Observação

    Para cada serviço adicional no projeto, você precisará adicionar um componente ServiceInstaller adicional à classe ProjectInstaller do projeto. O componente ServiceProcessInstaller adicionado na etapa três funciona com todos os instaladores de serviço individuais no projeto.

Confira também