Share via


Como: Adicionar instaladores ao seu aplicativo de serviço

Nota

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

O Visual Studio fornece componentes de instalação que podem instalar recursos associados aos seus aplicativos de serviço. Os componentes de instalação registram um serviço individual no sistema no qual ele está sendo instalado e informam ao 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 seu projeto.

Nota

Os valores de propriedade para seu serviço são copiados da classe de serviço para a classe do 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 seu projeto, uma nova classe (que, por padrão, é chamada ProjectInstaller) é criada no projeto e instâncias dos componentes de instalação apropriados são criadas dentro dele. Essa classe atua como um ponto central para todos os componentes de instalação de que seu projeto precisa. Por exemplo, se você adicionar um segundo serviço ao seu aplicativo e clicar no link Adicionar instalador, uma segunda classe de instalador não será criada; em vez disso, o componente de instalação adicional necessário para o segundo serviço é adicionado à classe existente.

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

Nota

As caixas de diálogo e os comandos de menu exibidos podem ser diferentes dos descritos na Ajuda, dependendo das configurações ativas ou da edição. Para alterar as configurações, escolha Importar e exportar configurações no menu Ferramentas . Para obter mais informações, consulte Personalizar o IDE do Visual Studio.

Para adicionar instaladores ao seu aplicativo de serviço

  1. No Gerenciador de Soluções, acesse o modo Design para o serviço ao qual você deseja adicionar um componente de instalação.

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

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

    Uma nova classe, ProjectInstaller, e dois componentes de instalação, ServiceProcessInstaller e ServiceInstaller, são adicionados ao seu projeto, e os valores de propriedade para o serviço são copiados para os componentes.

  4. Clique no ServiceInstaller componente e verifique se o valor da ServiceName propriedade está definido como o mesmo valor que a ServiceName propriedade no próprio serviço.

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

    Value Result
    Manual O serviço deve ser iniciado manualmente após a instalação. Para obter mais informações, consulte Como iniciar serviços.
    Automatic O serviço será iniciado sozinho sempre que o computador for reiniciado.
    Disabled O serviço não pode ser iniciado.
  6. Para determinar o contexto de segurança no qual o serviço será executado, clique ServiceProcessInstaller no componente e defina os valores de propriedade apropriados. Para obter mais informações, consulte Como especificar o contexto de segurança para serviços.

  7. Substitua todos os métodos para os quais você precisa executar o processamento personalizado.

  8. Execute as etapas de 1 a 7 para cada serviço adicional em seu projeto.

    Nota

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

Consulte também