Procedimiento Instalar y desinstalar servicios de Windows

Advertencia

Esta documentación no es para la versión más reciente de Windows Service. Para ver el contenido más reciente sobre los servicios de Windows que usan BackgroundService y la plantilla Worker Service, consulte:

Si va a desarrollar un servicio de Windows con .NET Framework, puede instalar rápidamente la aplicación de servicio mediante la utilidad de la línea de comandos InstallUtil.exe o PowerShell. Los desarrolladores que quieran publicar un servicio de Windows que los usuarios puedan instalar y desinstalar pueden usar el conjunto de herramientas WiX gratuito u otras herramientas comerciales como Advanced Installer, InstallShield, etc. Para más información, consulte Creación de un paquete de instalador (escritorio de Windows).

Advertencia

Si quiere desinstalar un servicio del equipo, no siga los pasos descritos en este artículo. En su lugar, averigüe qué paquete de software o programa ha instalado el servicio y, después, haga clic en Aplicaciones en Configuración para desinstalar ese programa. Muchos servicios forman parte de Windows; si los quita, podría causar inestabilidad en el sistema.

Para seguir los pasos de este artículo, primero debe agregar un instalador del servicio al servicio de Windows. Para obtener más información, vea Tutorial: Creación de una aplicación de un servicio de Windows.

Los proyectos de servicio de Windows no se pueden ejecutar directamente desde el entorno de desarrollo de Visual Studio presionando F5. Antes de poder ejecutar el proyecto, tendrá que instalar el servicio en el proyecto.

Sugerencia

Puede usar el Explorador de servidores para comprobar que el servicio se ha instalado o desinstalado.

Instalación mediante la utilidad InstallUtil.exe

  1. Desde el menú Inicio, seleccione el directorio Visual Studio <versión> y, después Símbolo del sistema para desarrolladores para VS <versión> .

    Aparecerá el símbolo del sistema para desarrolladores de Visual Studio.

  2. Obtenga acceso al directorio donde se encuentra el archivo ejecutable compilado del proyecto.

  3. Ejecute InstallUtil.exe desde la línea de comandos con el archivo ejecutable del proyecto como parámetro:

    installutil <yourproject>.exe
    

    Si usa el Símbolo del sistema para desarrolladores de Visual Studio, InstallUtil.exe ya está en la ruta de acceso del sistema. En caso contrario, puede agregarlo a la ruta de acceso o usar la ruta de acceso completa para invocarlo. Esta herramienta se instala con .NET Framework en %WINDIR%\Microsoft.NET\Framework[64]\<versión_de_la_plataforma>.

    Por ejemplo:

    • Para la versión de 32 bits de .NET Framework 4 o 4.5 y versiones posteriores, si el directorio de instalación de Windows es C:\Windows, la ruta predeterminada es C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe.
    • Para la versión de 64 bits de .NET Framework 4 o 4.5 y versiones posteriores, la ruta de acceso predeterminada es C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe.

Desinstalación mediante la utilidad InstallUtil.exe

  1. Desde el menú Inicio, seleccione el directorio Visual Studio <versión> y, después Símbolo del sistema para desarrolladores para VS <versión> .

    Aparecerá el símbolo del sistema para desarrolladores de Visual Studio.

  2. Ejecute InstallUtil.exe desde la línea de comandos con la salida del proyecto como parámetro:

    installutil /u <yourproject>.exe
    
  3. Después de eliminar el archivo ejecutable de un servicio, es posible que el servicio permanezca en el Registro. En ese caso, use el comando sc delete para quitar la entrada del servicio del Registro.

Instalación mediante PowerShell

  1. En el menú Inicio, seleccione el directorio Windows PowerShell y elija Windows PowerShell.

  2. Obtenga acceso al directorio donde se encuentra el archivo ejecutable compilado del proyecto.

  3. Ejecute el cmdlet New-Service con un nombre de servicio y la salida del proyecto como argumentos:

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

Desinstalación mediante PowerShell

  1. En el menú Inicio, seleccione el directorio Windows PowerShell y elija Windows PowerShell.

  2. Ejecute el cmdlet Remove-Service con el nombre del servicio como argumento:

    Remove-Service -Name "YourServiceName"
    

    Nota

    Debe tener PowerShell 6 o una versión posterior para usar este cmdlet. Para obtener más información sobre cómo actualizar PowerShell, consulte Instalación de PowerShell en Windows.

  3. Después de eliminar el archivo ejecutable de un servicio, es posible que el servicio permanezca en el Registro. En ese caso, use el comando sc delete para quitar la entrada del servicio del Registro.

    sc.exe delete "YourServiceName"
    

Vea también