Condividi tramite


Avvio automatico

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 Determinare la 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 avvia 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 [Esecuzione automatica] 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 funzionalità 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 di Service Pack minimo richiesto. L'amministratore di rete può usare questa sezione per creare il testo di un messaggio di avviso visualizzato se il service pack richiesto 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 verificato per l'esecuzione dalla sorgente.

    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à nella 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.exee presenta la modalità di manutenzione di Windows Installer prima di uscire.

  6. L'applicazione Setup.exe determina se il sistema operativo è qualificato 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 può 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 funzionemsiInstallProductper 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 Uso Significato
/autorun setup.exe /autorun Esegue Autorun.inf descritto in precedenza.
/un setup.exe /a Avvia un'installazione amministrativa.
/j [u|m]pacchettoo
[u|m]pacchetto /t Elenco trasformazioni
o
[u|m]pacchetto /g LanguageID
Pubblicizza 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 pubblicizzato.
/Io setup.exe /I Office9.msi /t ProgramMgmt.mst Specifica il file .msi che Setup.exe deve installare. Se l'opzione /I non è inclusa, Setup.exe usa il file di Office9.msi.
/o<proprietà=valore> setup.exe /o CDKEY=111111-1111 Imposta le proprietà nel file .msi. Setup.exe passa questi dati a msiexec come scritto.
/q setup.exe /q Impostare il livello dell'interfaccia utente per l'installazione. /q nessuna UI (/qn per msiexec.) /qb UI di base
Interfaccia utente ridotta /qr.
/m# setup.exe /m4 Supporta più licenze in conformità ai contratti Select. Questa proprietà viene utilizzata 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 l'installazione, il valore 0 deve essere impostato. L'opzione /m è necessaria per supportare i clienti Select che utilizzano un CD o una rete.
/Impostazioni setup.exe /settings mysettings.ini Consente agli amministratori di specificare un file .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 .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 di .ini sono supportate solo le proprietà supportate nella riga di comando. Se viene trovata una proprietà o un valore 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]

[Visualizza]

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 elaborato nella riga di comando, l'elenco nel file .ini viene invertito 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 sono nessuno, di base, ridotti e completi.

File di esempio .ini

[MSI]

MSI=\\sourceshare\Office2000\Office2000.msi

[MST]

MST1=\\sourceshare\Office2000\trns1.mst

MST2=\\sourceshare\Office2000\trns2.mst

[Opzioni]

PROPRIETÀPUBBLICA=il tuo valore

[Display]

Visualizzazione=None