ServiceProcessInstaller esegue operazioni comuni a tutti i servizi in un eseguibile. Viene utilizzata dall'utilità di installazione per scrivere i valori di registro associati ai servizi da installare.
Per installare un servizio, creare una classe di installazione progetti che eredita da Installer e impostare l'oggetto RunInstallerAttribute della classe su true. All'interno del progetto, creare un'istanza di ServiceProcessInstaller per ogni applicazione di servizio e un'istanza di ServiceInstaller per ogni servizio nell'applicazione. Infine, aggiungere l'istanza di ServiceProcessInstaller e le istanze di ServiceInstaller alla classe del programma di installazione del progetto.
Durante l'esecuzione di InstallUtil.exe nell'assembly del servizio vengono ricercate le classi con l'attributo RunInstallerAttribute impostato su true. Aggiungere classi all'assembly del servizio inserendole nell'insieme Installers associato al programma di installazione del progetto. Se l'attributo RunInstallerAttribute è impostato su false, il programma di installazione del progetto verrà ignorato dall'utilità di installazione.
Nel caso di un'istanza di ServiceProcessInstaller, tra le proprietà modificabili è possibile specificare che l'applicazione di servizio può essere eseguita in un account diverso rispetto all'utente connesso. È possibile specificare una particolare coppia di proprietà Username e Password che consente l'esecuzione del servizio, oppure utilizzare la proprietà Account per specificare l'esecuzione del servizio con l'account System del computer, con un account di servizio di rete o locale o con un account utente.
Nota |
|---|
| L'account System del computer non corrisponde all'account Administrator. |
Di norma non vengono chiamati i metodi su ServiceInstaller all'interno del codice, in quanto questi generalmente vengono chiamati solo dall'utilità di installazione. L'utilità di installazione chiama automaticamente i metodi ServiceProcessInstaller.Install e ServiceInstaller.Install durante il processo di installazione. Per il ripristino da eventuali errori, viene chiamato il metodo Rollback o ServiceInstaller.Rollback su tutti i componenti precedentemente installati.
La routine di installazione di un'applicazione mantiene automaticamente le informazioni relative ai componenti già installati utilizzando la proprietà Installer.Context del programma di installazione del progetto. Queste informazioni sullo stato vengono costantemente aggiornate durante l'installazione dell'istanza di ServiceProcessInstaller e di ciascuna istanza di ServiceInstaller. In genere non è necessario che il codice modifichi queste informazioni sullo stato in modo esplicito.
La creazione di un'istanza di ServiceProcessInstaller determina il richiamo del costruttore della classe base, ComponentInstaller.