Partilhar via


Como: Instalar e desinstalar serviços do Windows

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:

Se você estiver desenvolvendo um serviço do Windows com o .NET Framework, poderá instalar rapidamente seu aplicativo de serviço usando o utilitário de linha de comando InstallUtil.exe ou o PowerShell. Se você quiser lançar um serviço do Windows que os usuários possam instalar e desinstalar, use o WiX Toolset gratuito ou ferramentas comerciais como Advanced Installer e InstallShield. Para obter mais informações, consulte Criar um pacote de instalação (área de trabalho do Windows).

Aviso

Se pretender desinstalar um serviço que não desenvolveu a partir do computador, não siga os passos descritos neste artigo. Em vez disso, descubra qual programa ou pacote de software instalou o serviço e escolha Aplicativos em Configurações para desinstalar esse programa. Muitos serviços são partes integrantes do Windows; Se você removê-los, você pode causar instabilidade do sistema.

Para usar as etapas neste artigo, primeiro você precisa adicionar um instalador de serviço ao seu serviço do Windows. Para obter mais informações, consulte Passo a passo: Criando um aplicativo de serviço do Windows.

Você não pode executar projetos de serviço do Windows diretamente do ambiente de desenvolvimento do Visual Studio pressionando F5. Antes de executar o projeto, você deve instalar o serviço no projeto.

Gorjeta

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

Instalar usando InstallUtil.exe utilitário

  1. Abra o prompt de comando do desenvolvedor para VS.

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

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

  3. Execute InstallUtil.exe a partir do 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 já está no caminho do sistema. Caso contrário, você pode adicioná-lo ao caminho ou usar o caminho totalmente qualificado para invocá-lo. Esta ferramenta é instalada com o .NET Framework em %WINDIR%\Microsoft.NET\Framework[64]\<framework_version>.

Desinstalar usando o utilitário InstallUtil.exe

  1. Abra o prompt de comando do desenvolvedor para VS.

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

  2. Execute InstallUtil.exe a partir do prompt de comando com a opção e o /uninstall 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. Se for esse o caso, use o comando sc delete para remover a entrada para o serviço do registro.

Instalar usando o PowerShell

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

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

  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 utilizando o PowerShell

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

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

    Remove-Service -Name "YourServiceName"
    

    Nota

    Você deve ter o PowerShell 6 ou posterior para usar esse cmdlet. Para obter informações sobre como atualizar o PowerShell, consulte Instalando 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. Se for esse o caso, use o comando sc delete para remover a entrada para o serviço do registro.

    sc.exe delete "YourServiceName"
    

Consulte também