Compartilhar via


Como instalar e desinstalar serviços Windows

Observação

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

Se você estiver desenvolvendo um serviço Windows com o .NET Framework, instale rapidamente o aplicativo de serviço usando o utilitário de linha de comando InstallUtil.exe ou o PowerShell. Se quiser lançar um serviço do Windows que os usuários possam instalar e desinstalar, use o Conjunto de Ferramentas WiX gratuito ou ferramentas comerciais como Instalador Avançado e InstallShield. Para obter mais informações, confira Criar um pacote do instalador (área de trabalho do Windows).

Aviso

Se quiser desinstalar do computador um serviço que não foi desenvolvido por você, não siga as etapas neste artigo. Nesse caso, descubra qual pacote de software ou programa instalou o serviço e, em seguida, escolha Aplicativos em Configurações para desinstalar o programa. Muitos serviços são partes integrantes do Windows. Se você removê-los, poderá causar instabilidade no sistema.

Para seguir as etapas neste artigo, primeiro você precisa adicionar um instalador de serviço no serviço Windows. Para obter mais informações, confira Passo a passo: Como criar um aplicativo de serviço do Windows.

Não é possível executar projetos de serviço Windows diretamente no ambiente de desenvolvimento do Visual Studio pressionando F5. Antes de executar o projeto, você precisa instalar o serviço no projeto.

Dica

Você pode usar o Gerenciador de Servidores para verificar se instalou ou desinstalou o serviço.

Instalação com o utilitário InstallUtil.exe

  1. Abra o Prompt de Comando do Desenvolvedor para o VS.

    No menu Iniciar, selecione Todos os aplicativos, expanda Visual Studio <versão> e selecione Prompt de Comando do Desenvolvedor para VS <versão>.

  2. Navegue até o diretório no qual está localizado o arquivo executável compilado do projeto.

  3. Execute InstallUtil.exe no prompt de comando com o executável do seu projeto como argumento:

    installutil <yourproject>.exe
    

    Se você estiver usando o Prompt de Comando do Desenvolvedor para Visual Studio, InstallUtil.exe deverá estar no caminho do sistema. Caso contrário, você poderá adicioná-lo ao caminho ou usar o caminho totalmente qualificado para invocá-lo. Essa ferramenta é instalada com o .NET Framework em %WINDIR%\Microsoft.NET\Framework[64]\<framework_version>.

Desinstalação com o utilitário InstallUtil.exe

  1. Abra o Prompt de Comando do Desenvolvedor para o VS.

    No menu Iniciar, selecione Todos os aplicativos, expanda Visual Studio <versão> e selecione Prompt de Comando do Desenvolvedor para VS <versão>.

  2. Execute InstallUtil.exe no prompt de comando com a opção /uninstall e o executável do seu projeto:

    installutil /uninstall <yourproject>.exe
    
  3. Depois que o executável de um serviço for excluído, o serviço ainda poderá estar presente no Registro. Nesse caso, use o comando sc delete para remover a entrada do serviço do Registro.

Instalação com o PowerShell

  1. No menu Iniciar, pesquise Windows PowerShell e selecione-o.

  2. Navegue até o diretório no qual está localizado o arquivo executável compilado do projeto.

  3. Execute o cmdlet New-Service com um nome de serviço e o executável do seu projeto como argumentos:

    New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
    

Desinstalar usando o PowerShell

  1. No menu Iniciar, pesquise Windows PowerShell e selecione-o.

  2. Execute o cmdlet Remove-Service com o nome do serviço como argumento:

    Remove-Service -Name "YourServiceName"
    

    Observação

    É preciso ter o PowerShell 6 ou posterior para usar este cmdlet. Para obter informações sobre como atualizar o PowerShell, confira Como instalar o PowerShell no Windows.

  3. Depois que o executável de um serviço for excluído, o serviço ainda poderá estar presente no Registro. Nesse caso, use o comando sc delete para remover a entrada do serviço do Registro.

    sc.exe delete "YourServiceName"
    

Confira também