Condividi tramite


ServiceInstaller.Install(IDictionary) Metodo

Definizione

Installa il servizio scrivendo le informazioni dell'applicazione di servizio nel Registro di sistema. È necessario che il metodo venga utilizzato dagli strumenti di installazione che elaborano automaticamente i metodi corretti.

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)

Parametri

stateSaver
IDictionary

Oggetto IDictionary che contiene le informazioni contestuali associate all'installazione.

Eccezioni

L'installazione non contiene un oggetto ServiceProcessInstaller per l'eseguibile.

-oppure-

Il nome file dell'assembly è null o una stringa vuota.

-oppure-

Il nome del servizio non è valido.

-oppure-

È impossibile aprire Gestione controllo servizi.

La lunghezza del nome visualizzato del servizio è maggiore di 255 caratteri.

Il sistema non è riuscito a creare un handle al servizio.

-oppure-

Un servizio con tale nome è già installato.

Commenti

In genere, non si chiamano i metodi ServiceInstaller all'interno del codice. In genere vengono chiamati solo dall'utilità di installazione. L'utilità di installazione chiama automaticamente il metodo durante l'installazione Install . Esegue il backout degli errori, se necessario, chiamando Rollback l'oggetto che ha generato l'eccezione.

La routine di installazione di un'applicazione gestisce automaticamente le informazioni sui componenti già installati, usando il programma di installazione del Installer.Contextprogetto . Queste informazioni sullo stato, passate Install come stateSaver parametro, vengono aggiornate continuamente come ServiceProcessInstaller istanza e ogni ServiceInstaller istanza viene installata dall'utilità. In genere non è necessario modificare in modo esplicito le informazioni sullo stato del codice.

L'oggetto ServiceProcessInstaller associato alla classe di installazione del progetto installa le informazioni comuni a tutte le ServiceInstaller istanze del progetto. Se questo servizio contiene elementi che lo separano dagli altri servizi nel progetto di installazione, tali informazioni specifiche del servizio vengono installate da questo metodo.

Per installare un servizio, creare una classe del programma di installazione del progetto che eredita dalla Installer classe e impostare l'attributo RunInstallerAttribute sulla classe su true. All'interno del progetto creare un'istanza ServiceProcessInstaller per ogni applicazione di servizio e un'istanza ServiceInstaller per ogni servizio nell'applicazione. All'interno del costruttore della classe del programma di installazione del progetto impostare le proprietà di installazione per il servizio usando le ServiceProcessInstaller istanze e ServiceInstaller e aggiungere le istanze alla Installers raccolta.

Nota

È consigliabile usare il costruttore per aggiungere istanze del programma di installazione; Tuttavia, se è necessario aggiungere alla Installers raccolta nel Install metodo, assicurarsi di eseguire le stesse aggiunte alla raccolta nel Uninstall metodo.

Per tutte le classi derivate dalla Installer classe, lo stato della Installers raccolta deve essere lo stesso nei Install metodi e Uninstall . Tuttavia, è possibile evitare la manutenzione della raccolta tra i Install metodi e Uninstall se si aggiungono istanze del programma di installazione alla Installers raccolta nel costruttore della classe di installazione personalizzata.

Si applica a

Vedi anche