Analisi dei messaggi di Windows Installer

Un gestore dell'interfaccia utente esterno può elaborare l'elenco dei messaggi del programma di installazione specificati dal parametro dwMessagedFilter della funzione MsiSetExternalUI . Alcuni di questi messaggi contengono stringhe che possono essere usate direttamente e altri messaggi possono essere analizzati ed elaborati dal gestore dell'interfaccia utente esterno per essere utili. Il gestore dell'interfaccia utente esterno potrebbe dover monitorare solo i messaggi di Windows Installer senza eseguire alcuna operazione che influisce sull'installazione.

I messaggi di Windows Installer seguenti contengono stringhe che possono essere visualizzate da una finestra di dialogo e non richiedono ulteriori elaborazioni. Questi messaggi contengono un elenco di pulsanti e icone che devono essere visualizzati da una finestra di dialogo. È possibile usare i valori MB_ICONMASK, MB_DEFMASK e MB_TYPEMASK per specificare icone e pulsanti.

INSTALLMESSAGE_FATALEXIT

Si è verificata una chiusura prematura dell'installazione.

INSTALLMESSAGE_ERROR

Messaggio di errore formattato.

INSTALLMESSAGE_WARNING

Messaggio di avviso formattato.

INSTALLMESSAGE_INFO

Messaggio di log formattato.

INSTALLMESSAGE_Uedizione Standard R

Messaggio utente formattato.

INSTALLMESSAGE_OUTOFDISKSPACE

Messaggio formattato che indica una condizione di spazio su disco insufficiente

Il gestore utente esterno può usare i seguenti messaggi di Windows Installer per monitorare una sequenza dell'interfaccia utente di Windows Installer. Il programma di installazione invia questi messaggi all'inizio di una sequenza dell'interfaccia utente di Windows Installer, come viene visualizzata ogni finestra di dialogo e alla fine della sequenza dell'interfaccia utente. Non è necessaria alcuna elaborazione per usare questi messaggi.

INSTALLMESSAGE_TERMINATE

Questo messaggio indica la fine della sequenza dell'interfaccia utente. La stringa è una stringa null.

INSTALLMESSAGE_INITIALIZE

Questo messaggio indica che la sequenza dell'interfaccia utente è stata avviata. La stringa è una stringa null.

INSTALLMESSAGE_SHOWDIALOG

La stringa contiene il nome della finestra di dialogo corrente.

I messaggi di Windows Installer seguenti richiedono un'ulteriore elaborazione da parte del gestore dell'interfaccia utente esterno.

INSTALLMESSAGE_RESOLVESOURCE

Il gestore dell'interfaccia utente esterna deve restituire 0 e consentire a Windows Installer di gestire il messaggio. Il gestore dell'interfaccia utente esterna può monitorare questo messaggio, ma non deve eseguire alcuna azione che influisce sull'installazione di .

INSTALLMESSAGE_FILESINUedizione Standard

L'interfaccia utente esterna dovrebbe visualizzare una finestra di dialogo FilesInUse in risposta a questo messaggio.

INSTALLMESSAGE_RMFILESINUedizione Standard

L'interfaccia utente esterna dovrebbe visualizzare una finestra di dialogo MsiRMFilesInUse in risposta a questo messaggio. Disponibile a partire da Windows Installer versione 4.0. Per altre informazioni su questo messaggio, vedere Uso di Gestione riavvio con un'interfaccia utente esterna.

INSTALLMESSAGE_ACTIONSTART

Questo messaggio fornisce informazioni sull'azione corrente. Il formato è Action [1]: [2]. [3], dove i due punti vengono usati per separare Il campo 1 e il campo 2 e un punto vengono usati per separare il campo 2 e il campo 3. Il campo [1] contiene l'ora in cui l'azione è stata avviata usando il formato della proprietà Time. Il campo [2] contiene il nome dell'azione dalla tabella della sequenza. Il campo [3] fornisce la descrizione dell'azione dalla tabella ActionText o dalla funzione MsiProcessMessage.

INSTALLMESSAGE_ACTIONDATA

Il formato di questa stringa viene specificato dal valore Template fornito nella tabella ActionText o dalla funzione MsiProcessMessage . Dopo il messaggio di INSTALLMESSAGE_ACTIONSTART può essere presente un numero illimitato di messaggi di INSTALLMESSAGE_ACTIONDATA.

INSTALLMESSAGE_COMMONDATA

Questo messaggio include tre sottotipi: Lingua, Didascalia e CancelShow. La stringa può avere tre campi delimitati da un numero seguito da due punti. Non tutti i campi sono obbligatori. Il messaggio può essere una stringa NULL o vuota ("").

Lingua

Il campo 1 contiene il valore 0 per indicare che questa stringa contiene informazioni sulla lingua. Il campo 2 contiene un valore Language che è un identificatore di lingua numerico (LANGID). Il campo 3 è un valore che rappresenta una tabella codici ANSI.

Didascalia

Il campo 1 contiene il valore 1 per indicare che questa stringa contiene il testo di un didascalia o un titolo. Il campo 2 contiene testo che un gestore dell'interfaccia utente esterno può usare come didascalia di titolo per una finestra di dialogo. Il campo 3 è NULL o una stringa vuota (""). Il campo 3 può essere assente dal messaggio Didascalia.

CancelShow

Il campo 1 contiene il valore 2 per indicare che questa stringa contiene informazioni su se visualizzare il pulsante annulla. Se il pulsante Annulla deve essere nascosto, il campo 2 contiene il valore 0. Se il pulsante Annulla deve essere visibile, il campo 2 contiene il valore 1.

INSTALLMESSAGE_PROGRESS

Questo messaggio include quattro sottotipi: Reset, ActionInfo, ProgressReport e ProgressAddition. Il gestore esterno non deve agire su nessuno di questi messaggi finché non viene ricevuto il primo messaggio di stato reimpostazione. In questo modo viene fornita una stima del numero totale di tick per l'indicatore di stato.

Reimpostare

Il campo 1 contiene il valore 0 per indicare una reimpostazione dell'indicatore di stato. Il campo 2 contiene il numero totale di tick nell'indicatore di stato. Il campo 3 contiene il valore 0 per il movimento dell'indicatore di stato in avanti. Il campo 3 contiene il valore 1 per il movimento dell'indicatore di stato indietro. Il valore 0 nel campo 4 indica che l'installazione è in corso e il tempo rimanente può essere calcolato. Il valore 1 nel campo 4 indica che lo script viene eseguito e un "Attendere ..." è possibile visualizzare il messaggio. La stima del numero totale di tick è un'approssimazione e può essere imprecisa.

ActionInfo

Il campo 1 contiene il valore 1 per indicare che questa stringa contiene informazioni sull'azione. Il campo 2 contiene il numero di tick di spostamento della barra di stato per ogni messaggio ActionData inviato dall'azione corrente. Se Il campo 3 contiene il valore 0, ignorare il campo 2. Se Il campo 3 contiene il valore 1, incrementare la barra di stato in base al numero di tick nel campo 2 per ogni messaggio ActionData inviato dall'azione corrente. Il campo 4 non è usato.

ProgressReport

Il campo 1 contiene il valore 2 per indicare che questa stringa contiene informazioni sullo stato di avanzamento. Il campo 2 contiene il numero di tick spostati dall'indicatore di stato. Il campo 3 non è usato. Il campo 4 non è usato.

ProgressAddition

Il campo 1 contiene il valore 3 per indicare che un'azione può aggiungere segni di graduazione alla barra di stato. Il campo 2 contiene il numero di tick da aggiungere al numero totale previsto di tick di avanzamento. Il campo 3 non è usato. Il campo 4 non è usato.