ServiceInstaller.Install(IDictionary) Metodo

Definizione

Installa il servizio scrivendo le informazioni dell'applicazione di servizio nel Registro di sistema. Questo metodo è progettato per essere usato dagli strumenti di installazione, che elaborano automaticamente i metodi appropriati.

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 contenente le informazioni di contesto associate all'installazione.

Eccezioni

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

oppure

Il nome del file per l'assembly è null o una stringa vuota.

oppure

Il nome del servizio non è valido.

oppure

Impossibile aprire Gestione controllo servizi.

Il nome visualizzato per il servizio è di lunghezza superiore a 255 caratteri.

Il sistema non è riuscito a generare un handle per il servizio.

oppure

Un servizio con tale nome è già installato.

Commenti

In genere, non si chiameranno i metodi ServiceInstaller all'interno del codice, ma in genere vengono chiamati solo dall'utilità di installazione. L'utilità di installazione chiama automaticamente il Install metodo durante l'installazione. Esegue il backout degli errori, se necessario, chiamando Rollback sull'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 come InstallstateSaver parametro, vengono aggiornate continuamente come ServiceProcessInstaller istanza e ogni ServiceInstaller istanza viene installata dall'utilità . In genere non è necessario che il codice modifichi queste informazioni sullo stato in modo esplicito.

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 nella 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.

Note

È 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 che derivano 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 Installers programma di installazione alla raccolta nel costruttore della classe del programma di installazione personalizzato.

Si applica a

Vedi anche