La classe base per tutti i programmi di installazione personalizzati di .NET Framework. I programmi di installazione sono componenti che facilitano l'installazione di applicazioni in un computer.
Per utilizzare un Installer è necessario attenersi alla procedura che segue:
Ereditare la classe Installer.
Eseguire l'override dei metodi Install, Commit, Rollback e Uninstall.
Aggiungere l'attributo RunInstallerAttribute alla classe derivata e impostarlo su true.
Inserire la classe derivata nell'assembly con l'applicazione da installare.
Richiamare i programmi di installazione, ad esempio tramite InstallUtil.exe.
La proprietà Installers contiene un insieme di programmi di installazione. Se questa istanza di Installer è parte di un insieme Installer, la proprietà Parent verrà impostata sull'istanza di Installer che contiene l'insieme. Per un esempio di utilizzo dell'insieme Installers, vedere la classe AssemblyInstaller.
I metodi Install, Commit, Rollback e Uninstall della classe Installer scorrono l'insieme dei programmi di installazione memorizzati nella proprietà Installers e richiamano il metodo corrispondente di ogni programma di installazione.
I metodi Install, Commit, Rollback e Uninstall non vengono sempre chiamati nella stessa istanza di Installer. È possibile ad esempio utilizzare un'istanza di Installer per installare un'applicazione, eseguirne il commit e quindi rilasciare il riferimento a tale istanza. Successivamente, disinstallando l'applicazione verrà creato un nuovo riferimento a un'istanza di Installer, ovvero il metodo Uninstall verrà chiamato da una diversa istanza di Installer. Per questo motivo, nella classe derivata, si consiglia di non salvare lo stato di un computer in un programma di installazione. Utilizzare invece un oggetto IDictionary che viene mantenuto tra le diverse chiamate e passato nei metodi Install, Commit, Rollback e Uninstall.
Nei due casi che seguono viene illustrata la necessità di salvare le informazioni nell'oggetto IDictionary salvato. Nel primo caso, si supponga che nel programma di installazione venga automaticamente impostata una chiave del Registro di sistema. È necessario che il valore originale della chiave venga salvato nell'oggetto IDictionary. In caso di rollback dell'installazione, tale valore potrà così essere ripristinato. Nel secondo caso, si supponga che il programma di installazione porti alla sostituzione di un file esistente. Salvare il file esistente in una directory temporanea e il nuovo percorso del file nell'oggetto IDictionary. In caso di rollback dell'installazione, il file più recente verrà eliminato e sostituito da quello originale, che si trova nel percorso temporaneo.
La proprietà Installer..::.Context contiene informazioni sull'installazione, ad esempio il percorso del file di log dell'installazione, il percorso del file in cui vengono salvate le informazioni necessarie al metodo Uninstall e la riga di comando immessa durante l'esecuzione del file eseguibile di installazione.