Bootstrap

Attualmente ogni installazione che tenta di usare Windows Installer inizia controllando se il programma di installazione è presente nel computer dell'utente e, se non è presente, se l'utente e il computer sono pronti per installare Windows Installer. Un'applicazione di installazione Instmsi.exe è disponibile con Windows Installer SDK che contiene tutta la logica e le funzionalità per installare Windows Installer. Tuttavia, un'applicazione di bootstrap deve gestire questa installazione.

L'applicazione di bootstrap deve prima verificare se Windows Installer è attualmente installato. Le applicazioni possono ottenere la versione di Windows Installer attualmente installata usando DllGetVersion. Se Windows Installer non è attualmente installato, l'applicazione di bootstrap deve eseguire una query sul sistema operativo per determinare quale versione del Instmsi.exe è necessaria. Dopo l'avvio dell'installazione di Windows Installer, l'applicazione di bootstrap deve gestire i codici restituiti dall'applicazione Instmsi.exe e gestire eventuali riavvii che si verificano durante l'installazione di Windows Installer. Per altre informazioni, vedere Determinazione della versione di Windows Installer

Nell'esempio seguente viene illustrato come l'applicazione di installazione che installa Microsoft Office 2000 controlla il sistema dell'utente e configura l'installazione di Windows Installer. Questo esempio viene scritto specificamente per installare Office 2000 e deve essere usato solo come riferimento generale.

Quando un utente inserisce un CD-ROM di Office 2000 nel computer, Setup.exe tenta di avviare la modalità di manutenzione, l'applicazione di installazione o non esegue alcuna operazione, in base alle esigenze dell'utente. La sezione seguente descrive come l'applicazione di installazione di Office 2000, denominata Setup.exe, qualifica l'utente e il computer, costruisce una riga di comando e installa Windows Installer usando l'applicazione Msiexec.exe.

Come Setup.exe Bootstrap di Windows Installer durante l'installazione di Office 2000

  1. L'utente inserisce un CD-ROM di Office 2000 nel computer. Il sistema operativo Windows avvia Setup.exe usando l'opzione /autorun e il file Autorun.inf. Il file Autorun.inf si trova nella radice del CD-ROM di Office 2000 e contiene le sezioni seguenti:

    [Esecuzione automatica]

    [Funzionalità di Office]

    [Informazioni sul prodotto]

    [ServicePack].

    La sezione [Autorun] contiene una riga di comando che esegue l'applicazione Setup.exe, esegue l'icona usata per visualizzare il disco e contiene informazioni per aggiungere un'opzione "Installa" e un'opzione "Configura" al menu di scelta rapida per il CD-ROM.

    La sezione [Funzionalità di Office] contiene un elenco di caratteristiche e coppie di nomi di funzionalità.

    La sezione [Product Information] specifica il nome e la versione dell'applicazione.

    La sezione [ServicePack] consente a un amministratore di rete di impostare il livello minimo richiesto del Service Pack. L'amministratore di rete può usare questa sezione per creare il testo di un messaggio di avviso visualizzato se il service pack non è disponibile nel sistema operativo locale.

    Di seguito è riportato un esempio di Autorun.inf.

    [autorun] 
    OPEN=setup.EXE /AUTORUN /KEY:Software\Microsoft\Office\9.0\Common\General\InstallProductID
    ICON=setup.EXE,1
    shell\configure=&Configure
    shell\configure\command=setup.EXE
    shell\install=&Install
    shell\install\command=setup.EXE
    [OfficeFeatures]
    Feature1=ACCESSFiles
    Feature2=OfficeFiles
    Feature3=WORDFiles
    Feature4=EXCELFiles
    Feature5=PPTFiles
    [ProductInformation]
    DisplayName=Microsoft Office 9
    Version=9.0
    ProductCode={product guid}
    [ServicePack]
    MessageText="The operating system does not have a required service pack. Please download and install this from www.microsoft.com."
    SPLevel=3
    
  2. L'applicazione Setup.exe verifica la presenza del mutex _MsiPromptForCD. Windows Installer crea questo mutex quando richiede all'utente di inserire il CD-ROM. La presenza del mutex indica che Windows Installer esegue un'installazione che ha richiesto il CD-ROM di Office 2000. In questo caso, l'applicazione Setup.exe viene chiusa immediatamente e consente di continuare l'installazione di Office 2000. Se il mutex è assente, l'applicazione Setup.exe continua al passaggio 3 in cui viene valutata una chiave del Registro di sistema per determinare se è installato Office 2000.

  3. L'applicazione Setup.exe verifica la presenza della chiave del Registro di sistema di Office9:

    HKCU/Software/Microsoft/Office/9.0/Common/General/InstallProductID

    Se questa chiave del Registro di sistema non esiste, l'applicazione Setup.exe continua al passaggio 6 in cui viene controllato il sistema operativo per determinare se è idoneo per l'installazione di Office 2000.

  4. Se la chiave del Registro di sistema di Office 2000 esiste, l'applicazione Setup.exe controlla lo stato di installazione corrente chiamando MsiQueryProductState. Uno stato restituito di InstallState_Default indica che Office 2000 è già installato e l'applicazione Setup.exe continua al passaggio 5 in cui Office 2000 viene controllato per l'esecuzione dall'origine.

    Se Office 2000 non è installato, l'applicazione Setup.exe continua al passaggio 6 in cui viene controllato il sistema operativo per determinare se è idoneo per l'installazione di Office 2000.

  5. L'applicazione Setup.exe chiama MsiQueryFeatureState per ognuna delle funzionalità della sezione [OfficeFeatures] del file Autorun.inf. Se una di queste funzionalità restituisce INSTALLSTATE_SOURCE, indica che la funzionalità viene eseguita dall'origine e l'applicazione Setup.exe viene chiusa immediatamente.

    Se nessuna delle funzionalità restituisce INSTALLSTATE_SOURCE, l'applicazione Setup.exe avvia l'applicazione di installazione, Msiexec.exe e presenta la modalità di manutenzione di Windows Installer prima di uscire.

  6. L'applicazione Setup.exe determina se il sistema operativo è idoneo per un'installazione di Office 2000. Windows XP è necessario per installare Office 2000. Se il sistema operativo richiede un aggiornamento del Service Pack per qualificarsi per Office 2000, l'applicazione Setup.exe visualizza il testo specificato nel file Autorun.inf. Se il sistema operativo non è idoneo per Office 2000 o un aggiornamento di Office 2000, l'applicazione Setup.exe visualizza un messaggio che impedisce all'utente di continuare.

    Se il sistema operativo è qualificato per Office 2000, l'applicazione Setup.exe continua al passaggio 7, che determina se Windows Installer è installato nel computer dell'utente.

  7. Se Windows Installer esiste nel computer dell'utente, l'applicazione Setup.exe avvia l'applicazione Msiexec.exe e passa il file .msi di Office 2000.

    Se Windows Installer non è installato nel computer locale, l'applicazione Setup.exe continua al passaggio 8, che determina se il sistema operativo è idoneo per l'installazione di Windows Installer.

  8. Se il computer locale è idoneo per l'installazione di Windows Installer, l'applicazione Setup.exe esegue la versione corretta dell'applicazione del programma di installazione di Instmsi.exe per la piattaforma. Setup.exe possibile passare l'opzione della riga di comando "/q" per eliminare l'interfaccia utente e impedire all'utente di modificare le opzioni di configurazione dell'installazione.

  9. L'applicazione Setup.exe carica il file Msi.dll appena installato ed esegue una chiamata alla funzione MsiInstallProduct per installare l'applicazione dell'utente.

parametri della riga di comando Setup.exe

L'applicazione Setup.exe consente agli amministratori e agli utenti di passare le opzioni della riga di comando all'applicazione Msiexec.exe. Per altre informazioni, vedere Opzioni della riga di comando. Nella tabella seguente sono elencate le opzioni di comando che è possibile usare con Setup.exe.

Opzione Utilizzo Significato
/Autorun setup.exe /autorun Esegue Autorun.inf descritto in precedenza.
/a setup.exe /a Avvia un'installazione amministrativa.
/J [u|m] Pacchettoo
[u|m] Package /t Transform List
oppure
[u|m] Package /g LanguageID
Annuncia un prodotto. Questa opzione ignora tutti i valori delle proprietà immessi nella riga di comando. u Annuncia all'utente corrente.
m Annuncia a tutti gli utenti del computer.
g Identificatore lingua
t Applica la trasformazione al pacchetto annunciato.
/I setup.exe /I Office9.msi /t ProgramMgmt.mst Specifica il file di .msi che Setup.exe deve essere installato. Se l'opzione /I non è inclusa, Setup.exe usa il file di Office9.msi.
/o<valoredella proprietà=> setup.exe /o CDKEY=111111-1111 Imposta le proprietà nel file .msi. Setup.exe passa questi elementi a msiexec come scritto.
/q setup.exe /q Impostare il livello dell'interfaccia utente per l'installazione. /q no UI (/qn per msiexec.) /qb interfaccia utente di base
Interfaccia utente ridotta a matrice.
/M # setup.exe /m4 Supporta più licenze in base ai contratti Select. Questa proprietà viene usata dall'azione personalizzata Verifica licenza per scrivere il certificato LV. L'opzione /m deve essere seguita dal numero di sblocci consentiti. Il valore specificato dall'opzione /m deve essere impostato come proprietà "M" nel file Office9.msi. Se non viene specificato alcun valore, ma l'opzione /m viene usata con il programma di installazione, è necessario impostare il valore 0. L'opzione /m è necessaria per supportare Select customers using a CD or network .The /m option is required to support Select customers using a CD or network.
/Impostazioni setup.exe /settings mysettings.ini Consente agli amministratori di specificare un file di .ini contenente tutte le impostazioni personalizzate da passare durante l'installazione di Office 2000. Vedere la descrizione del file .ini di seguito.

Uso di un file di .ini

La creazione di un file di inizializzazione può essere più semplice rispetto alla creazione di una riga di comando lunga. Usando l'opzione /settings, l'applicazione Setup.exe legge il file di .ini specificato e costruisce una riga di comando da passare all'applicazione Msiexec.exe. Nel file .ini sono supportate solo le proprietà supportate nella riga di comando. Se una proprietà o un valore viene trovato sia nel file .ini che nella riga di comando, le impostazioni della riga di comando sostituiscono le impostazioni del file .ini.

Il formato del file .ini è:

[msi]

[mst]

[opzioni]

[Display]

La sezione [msi] del file .ini specifica il percorso del pacchetto di installazione per l'installazione. Corrisponde all'opzione /I nella riga di comando.

La sezione [mst] del file .ini specifica il percorso delle trasformazioni usate con questa installazione. Corrisponde all'opzione /j nella riga di comando. Ogni trasformazione è indicata in una riga diversa, usando MST1 MST(N). Quando viene analizzato nella riga di comando, l'elenco nel file .ini viene trasformato da sinistra a destra. Si noti che il numero associato al titolo MST(N) è presente solo per mantenere identificatori univoci e non ha alcun significato programmatico.

La sezione [opzioni] consente agli amministratori di rete di impostare ed eseguire l'override delle proprietà nei file .msi o mst. Le opzioni impostate nel file .ini vengono aggiunte alla riga di comando usando l'opzione /o . Ogni opzione nella sezione dell'opzione deve avere un nome di proprietà e un valore.

La sezione [Display] viene usata per impostare il livello di interfaccia utente usato durante l'installazione. Corrisponde all'opzione /q nella riga di comando. I valori validi non sono, di base, ridotti e completi.

File di .ini di esempio

[MSI]

MSI=\\sourceshare\Office2000\Office2000.msi

[MST]

MST1=\\sourceshare\Office2000\trns1.mst

MST2=\\sourceshare\Office2000\trns2.mst

[Opzioni]

PUBLICPROPERTY=valore

[Display]

Display=None