Compartir a través de


Procedimiento para agregar instaladores a una aplicación de servicio

Nota:

Este artículo no se aplica a servicios hospedados en .NET. Para el contenido más reciente sobre los servicios de Windows que utilizan Microsoft.Extensions.Hosting.BackgroundService y la plantilla del servicio de trabajo, consulte:

Visual Studio incluye componentes de instalación que pueden instalar recursos asociados con sus aplicaciones de servicios. Los componentes de la instalación registran un servicio individual en el sistema en el que se está instalando e informan al Administrador de control de servicios que el servicio existe. Cuando trabaje con una aplicación de servicio, puede seleccionar un vínculo en la ventana Propiedades para agregar automáticamente los instaladores apropiados a su proyecto.

Nota

Los valores de propiedad de su servicio se copian de la clase de servicio a la clase de instalador. Si actualiza los valores de las propiedades en la clase de servicio, no se actualizan automáticamente en el instalador.

Cuando agrega un instalador a su proyecto, se crea una nueva clase (que, de forma predeterminada, se llama ProjectInstaller) en el proyecto, y se crean instancias de los componentes de instalación apropiados dentro de él. Esta clase actúa como un punto central para todos los componentes de instalación que el proyecto necesita. Por ejemplo, si agrega un segundo servicio a la aplicación y hace clic en el vínculo Agregar instalador, no se creará una segunda clase de instalador; en su lugar, el componente de instalación adicional necesario para el segundo servicio se agregará a la clase existente.

No necesita hacer ninguna codificación especial dentro de los instaladores para que los servicios se instalen correctamente. Sin embargo, es posible que ocasionalmente tenga que modificar el contenido de los instaladores si necesita agregar funciones especiales al proceso de instalación.

Nota

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Para cambiar la configuración, elija la opción Importar y exportar configuraciones del menú Herramientas . Para más información, vea Personalizar el IDE de Visual Studio.

Para agregar instaladores a la aplicación de servicio

  1. En el Explorador de soluciones, acceda a la vista Diseño del servicio para el que desea agregar un componente de instalación.

  2. Haga clic en el fondo del diseñador para seleccionar el propio servicio, en vez de cualquier elemento de su contenido.

  3. Con el foco en el diseñador, haga clic con el botón derecho y, a continuación, haga clic en Agregar instalador.

    Una nueva clase, ProjectInstaller y dos componentes de instalación, ServiceProcessInstaller y ServiceInstaller, se agregan al proyecto, y los valores de propiedad del servicio se copian a los componentes.

  4. Haga clic en el componente ServiceInstaller y compruebe que el valor de la propiedad ServiceName es el mismo que el de la propiedad ServiceName del propio servicio.

  5. Para determinar cómo se iniciará el servicio, haga clic en el componente ServiceInstaller y establezca la propiedad StartType en el valor adecuado.

    Valor Resultado
    Manual El servicio debe iniciarse manualmente después de la instalación. Para obtener más información, vea Cómo: Iniciar servicios.
    Automatic El servicio se iniciará por sí mismo cada vez que el equipo se reinicia.
    Disabled No se puede iniciar el servicio.
  6. Para determinar el contexto de seguridad en el que se ejecutará el servicio, haga clic en el componente ServiceProcessInstaller y establezca los valores de propiedad adecuados. Para obtener más información, vea Cómo: Especificar el contexto de seguridad de los servicios.

  7. Sustituya cualquier método para el que necesite realizar un procesamiento personalizado.

  8. Realice los pasos del 1 al 7 para cada servicio adicional en el proyecto.

    Nota

    Por cada servicio adicional en el proyecto, debe agregar un componente adicional ServiceInstaller a la clase ProjectInstaller del proyecto. El componente ServiceProcessInstaller agregado en el paso tres funciona con todos los instaladores de servicio individuales del proyecto.

Vea también