Microsoft Windows Installer

uno standard de facto.

La tecnologia Windows Installer è stata sviluppata da Microsoft ed è uno strumento molto potente per creare installazioni robuste e stabili. Consiste di due componenti principali, il servizio Installer sul client (Msiexec.exe) e un file di pacchetto (file MSI). Il servizio Installer esegue l'installazione di un'applicazione in base alle informazioni contenute nel file MSI. La potenza di Windows Installer va ben oltre l'installazione e il lancio di applicazioni.

MSI è l'abbreviazione di Microsoft Installer. I file MSI sono database relazionali le cui tabelle contengono dati binari/testuali che rappresentano istruzioni di controllo per l'installazione. Questi database, insieme alle impostazioni fatte durante l'installazione, sono poi gestiti dal sistema operativo. Il pacchetto software stesso può essere memorizzato nel database, ma è anche possibile memorizzare solo i riferimenti ai file. Da Windows 2000, la tecnologia è stata completamente integrata nei sistemi operativi Microsoft.

Esegue la diagnostica e le riparazioni dei programmi danneggiati

Un programma può chiedere all'installatore di determinare se ha file mancanti o danneggiati. Può quindi chiedere al servizio di installazione di riparare quel programma, se necessario, copiando di nuovo i file mancanti o danneggiati.

Lo stato originale del computer viene ripristinato se l'installazione fallisce

Windows Installer tiene traccia di tutti i cambiamenti fatti al sistema durante il processo di installazione del programma. Se l'installazione non ha successo, può resettare il sistema al suo stato originale. Questo processo è anche conosciuto come "rollback".

Supporta l'installazione di funzioni del programma su richiesta

L'installatore può essere istruito a installare solo la versione minima di un programma all'inizio. In seguito, i componenti aggiuntivi possono essere installati automaticamente quando si utilizza per la prima volta una funzione che richiede componenti aggiuntivi.

Supporta l'installazione non assistita di programmi

L'installatore supporta lo scripting delle installazioni dei programmi secondo le istruzioni dell'amministratore.

Aiuta a prevenire certi tipi di conflitti tra programmi

Non è raro che un programma che viene installato o disinstallato possa causare problemi con un altro programma che è già sul computer, o anche che il computer smetta di rispondere (crash). Windows Installer applica le politiche d'installazione che aiutano a prevenire i conflitti quando un processo d'installazione fa degli aggiornamenti a un file DLL (dynamic-link library) o cancella un file DLL che è anche usato da un altro programma esistente.


Panoramica degli elementi più importanti della tecnologia MSI

Installation Package

Un pacchetto di installazione contiene tutte le informazioni di cui il Windows Installer ha bisogno per eseguire un'installazione o una disinstallazione di un'applicazione. Il componente principale di un pacchetto di installazione è il file MSI, che è implementato con un database relazionale (di installazione). Oltre alla procedura di installazione e ai file di installazione, molte altre informazioni sono memorizzate qui, come i file CAB aggiuntivi richiesti, fonti di installazione interne ed esterne, istruzioni nel caso in cui una versione precedente di questa applicazione sia già installata, o informazioni sui gruppi di utenti che sono autorizzati a installare questa applicazione.

Installation Mechanism

Una procedura di installazione, se ha successo, consiste in due fasi, Acquisizione ed Esecuzione. Nella fase di acquisizione, tutte le informazioni necessarie per l'installazione vengono lette dal database di installazione. Da questo, viene generato uno script che descrive la procedura di installazione passo dopo passo. Nella fase di esecuzione, questo script viene modificato e l'applicazione viene installata. Se l'installazione non ha successo, il Windows Installer ripristina il computer al suo stato pre-installazione nella fase di rollback. Per poter eseguire questo passo, viene generato uno script di rollback durante la fase di installazione, parallelamente all'elaborazione dello script di installazione.

Installation-On-Demand

Le tecnologie di installazione tradizionali richiedono l'uscita da un'applicazione e il riavvio di una routine di installazione. Installation-On-Demand rappresenta un tentativo di eliminare questi passaggi. Se un utente vuole installare una funzione aggiuntiva in un'applicazione in esecuzione, questo può essere fatto direttamente senza riavviare l'applicazione. Questo concetto viene utilizzato anche quando l'utente decide di installare una nuova applicazione disponibile (Advertisment).

Components and Features

Quando il Windows Installer vuole installare un'applicazione, prima la trasferisce nel concetto di Componenti e caratteristica. Una caratteristica è una parte di un'applicazione che non deve necessariamente essere installata con un'applicazione. Questa decisione è lasciata all'utente. Un esempio potrebbe essere l'estensione di un programma di elaborazione testi con un supporto linguistico aggiuntivo. I componenti, d'altra parte, sono parte essenziale fissi di un'applicazione e sono sempre installati insieme ad essa. Per l'utente questo avviene in modo trasparente. Esempi di componenti sono singoli file, chiavi di registro, oggetti COM, collegamenti, librerie, ecc.

Advertisement

Il Windows Installer offre la possibilità di annunciare la disponibilità di un'applicazione a un utente senza che sia già installata. Tutto ciò che è richiesto è l'interfaccia dell'applicazione. Questo può essere usato per mostrare all'utente di quale applicazione si tratta. Solo quando l'utente vuole veramente usarlo, vengono installati i componenti necessari.

Customization

Il Windows Installer può essere usato per eseguire installazioni personalizzate per diversi gruppi di utenti. Poiché tutte le informazioni di installazione sono memorizzate in un database relazionale, le modifiche possono essere fatte ai record di dati in fase di esecuzione e quindi influenzare l'installazione di un'applicazione. Sarebbe concepibile, per esempio, installare un'applicazione con un supporto linguistico diverso a seconda del rispettivo utente.


Transforming (.mst)

fonte d`informazioni » About Transforms | Microsoft Docs

Una trasformazione è un tipo speciale di file di database .msi e di solito ha l'estensione .mst. Le trasformazioni si applicano alla configurazione di un'applicazione al momento dell'installazione. Sostanzialmente cambiano i valori predefiniti in un pacchetto MSI per controllare il comportamento dell'installazione quando si verifica. I valori modificati non vengono memorizzati nel file MSI.

Merge-Modul (.msm)

fonte d`informazioni » About Merge Modules | Microsoft Docs

Un'altra variante del file MSI è il modulo di Merge o file MSM, un gruppo di componenti che sono spesso riutilizzati nelle configurazioni delle applicazioni. Per esempio, diverse applicazioni di terze parti possono usare Microsoft Visual C++ Redistributable (VC-Redist). Invece di ricreare una configurazione per questi componenti condivisi in ogni nuovo pacchetto MSI, i pacchettizzatori di applicazioni possono riutilizzare i moduli di Merge forniti dal fornitore del componente condiviso. I moduli di Merge sono file di database .msi semplificati che contengono solo le funzioni e i componenti. Spesso i file dei componenti effettivi sono incorporati nel file .msm stesso. I file .msm sono poi fusi con il pacchetto Windows Installer dell'applicazione principale al momento della creazione del pacchetto.