Compartir a través de


ServiceInstaller.Install(IDictionary) Método

Definición

Instala el servicio escribiendo la información de la aplicación de servicio en el Registro. Este método está pensado para que lo utilicen las herramientas de instalación que procesan automáticamente los métodos apropiados.

public:
 override void Install(System::Collections::IDictionary ^ stateSaver);
public override void Install (System.Collections.IDictionary stateSaver);
override this.Install : System.Collections.IDictionary -> unit
Public Overrides Sub Install (stateSaver As IDictionary)

Parámetros

stateSaver
IDictionary

IDictionary que contiene la información de contexto asociada a la instalación.

Excepciones

La instalación no contiene ServiceProcessInstaller para el ejecutable.

o bien El nombre de archivo para el ensamblado es null o una cadena vacía.

o bien El nombre de servicio no es válido.

o bien No se pudo abrir el Administrador de control de servicios.

El nombre para mostrar del servicio tiene una longitud superior a 255 caracteres.

El sistema no pudo generar un identificador para el servicio.

o bien

Ya hay instalado un servicio con ese nombre.

Comentarios

Normalmente, no llamará a los métodos en ServiceInstaller el código; por lo general, la utilidad de instalación los llama únicamente. La utilidad de instalación llama automáticamente al método durante la Install instalación. Devuelve errores, si es necesario, llamando a Rollback en el objeto que generó la excepción.

La rutina de instalación de una aplicación mantiene información automáticamente sobre los componentes que ya se instalaron, mediante el instalador del Installer.Contextproyecto. Esta información de estado, pasada Install como stateSaver parámetro, se actualiza continuamente a medida que la ServiceProcessInstaller instancia de y la utilidad instala cada ServiceInstaller instancia. Normalmente no es necesario que el código modifique explícitamente esta información de estado.

El ServiceProcessInstaller asociado a la clase de instalación del proyecto instala información común a todas las ServiceInstaller instancias del proyecto. Si este servicio tiene algo que lo separa de los demás servicios del proyecto de instalación, este método instala esa información específica del servicio.

Para instalar un servicio, cree una clase de instalador de proyecto que herede de la Installer clase y establezca el RunInstallerAttribute atributo en la clase trueen . En el proyecto, cree una ServiceProcessInstaller instancia por aplicación de servicio y una ServiceInstaller instancia para cada servicio de la aplicación. En el constructor de la clase del instalador del proyecto, establezca las propiedades de instalación del servicio mediante las ServiceProcessInstaller instancias y ServiceInstaller y agregue las instancias a la Installers colección.

Nota

Se recomienda usar el constructor para agregar instancias del instalador; Sin embargo, si necesita agregar a la Installers colección en el Install método , asegúrese de realizar las mismas adiciones a la colección en el Uninstall método .

Para todas las clases derivadas de la Installer clase , el estado de la Installers colección debe ser el mismo en los Install métodos y Uninstall . Sin embargo, puede evitar el mantenimiento de la colección entre los Install métodos y Uninstall si agrega instancias de instalador a la colección en el Installers constructor de clase del instalador personalizado.

Se aplica a

Consulte también