Funzione MsiSetExternalUIA (msi.h)

La funzione MsiSetExternalUI abilita un gestore esterno dell'interfaccia utente. Questo gestore dell'interfaccia utente esterna viene chiamato prima del normale gestore dell'interfaccia utente interna. Il gestore dell'interfaccia utente esterna ha la possibilità di eliminare l'interfaccia utente interna restituendo un valore diverso da zero per indicare che ha gestito i messaggi. Per altre informazioni, vedere Informazioni sull'interfaccia utente.

Sintassi

INSTALLUI_HANDLERA MsiSetExternalUIA(
  [in] INSTALLUI_HANDLERA puiHandler,
  [in] DWORD              dwMessageFilter,
  [in] LPVOID             pvContext
);

Parametri

[in] puiHandler

Specifica una funzione di callback conforme alla specifica INSTALLUI_HANDLER .

[in] dwMessageFilter

Specifica i messaggi da gestire utilizzando il gestore di messaggi esterni. Se il gestore esterno restituisce un risultato diverso da zero, tale messaggio non verrà inviato all'interfaccia utente, ma verrà registrato se la registrazione è stata abilitata. Per altre informazioni, vedere la funzione MsiEnableLog .

Valore Significato
INSTALLLOGMODE_FILESINUSE
File in uso. Quando viene ricevuto questo messaggio, verrà visualizzata una finestra di dialogo FilesInUse .
INSTALLLOGMODE_FATALEXIT
Chiusura prematura dell'installazione.
INSTALLLOGMODE_ERROR
I messaggi di errore vengono registrati.
INSTALLLOGMODE_WARNING
I messaggi di avviso vengono registrati.
INSTALLLOGMODE_USER
Le richieste utente vengono registrate.
INSTALLLOGMODE_INFO
I messaggi di stato non visualizzati vengono registrati.
INSTALLLOGMODE_RESOLVESOURCE
Richiedere di determinare un percorso di origine valido.
INSTALLLOGMODE_RMFILESINUSE
File in uso. Quando viene ricevuto questo messaggio, deve essere visualizzata una finestra di dialogo MsiRMFilesInUse .
INSTALLLOGMODE_OUTOFDISKSPACE
Spazio su disco insufficiente.
INSTALLLOGMODE_ACTIONSTART
L'inizio delle nuove azioni di installazione viene registrato.
INSTALLLOGMODE_ACTIONDATA
Il record di dati con l'azione di installazione viene registrato.
INSTALLLOGMODE_COMMONDATA
I parametri per l'inizializzazione dell'interfaccia utente vengono registrati.
INSTALLLOGMODE_PROGRESS
Informazioni sull'indicatore di stato . Questo messaggio include informazioni sulle unità finora e sul numero totale di unità. Per una spiegazione del formato del messaggio, vedere la funzione MsiProcessMessage . Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato.
INSTALLLOGMODE_INITIALIZE
Se non si tratta di un'installazione non interattiva, l'interfaccia utente di base è stata inizializzata. Se si tratta di un'installazione completa dell'interfaccia utente , l'interfaccia utente completa non è ancora inizializzata. Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato.
INSTALLLOGMODE_TERMINATE
Se viene usata un'interfaccia utente completa , l'interfaccia utente completa è terminata. Se non si tratta di un'installazione non interattiva, l'interfaccia utente di base non è ancora terminata. Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato.
INSTALLLOGMODE_SHOWDIALOG
Inviato prima della visualizzazione della finestra di dialogo completa dell'interfaccia utente . Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato.
INSTALLLOGMODE_INSTALLSTART
Inizia l'installazione del prodotto.

Il messaggio contiene productName e ProductCode del prodotto.

INSTALLLOGMODE_INSTALLEND
L'installazione del prodotto termina.

Il messaggio contiene il valore ProductName, ProductCode e return del prodotto.

[in] pvContext

Puntatore a un contesto dell'applicazione passato alla funzione di callback. Questo parametro può essere usato per il controllo degli errori.

Valore restituito

Il valore restituito è il gestore esterno impostato in precedenza oppure zero (0) se non è presente alcun gestore impostato in precedenza.

Commenti

Per ripristinare il gestore dell'interfaccia utente precedente, viene effettuata una seconda chiamata a MsiSetExternalUI usando il INSTALLUI_HANDLER restituito dalla prima chiamata a MsiSetExternalUI e specificando zero (0) per dwMessageFilter.

Il gestore dell'interfaccia utente esterna a cui punta il parametro puiHandler non ha il controllo completo sull'interfaccia utente esterna, a meno che MsiSetInternalUI non venga chiamato con il parametro dwUILevel impostato su INSTALLUILEVEL_NONE. Se MsiSetInternalUI non viene chiamato, per impostazione predefinita il livello dell'interfaccia utente interna viene INSTALLUILEVEL_BASIC. Di conseguenza, qualsiasi messaggio non gestito dal gestore dell'interfaccia utente esterna viene gestito da Windows Installer. Iniziale "Preparazione dell'installazione. . ." viene sempre visualizzata la finestra di dialogo anche se il gestore dell'interfaccia utente esterna gestisce tutti i messaggi.

MsiSetExternalUI deve essere chiamato solo da un'applicazione bootstrapping . Non è possibile chiamare MsiSetExternalUI da un'azione personalizzata.

Nota

L'intestazione msi.h definisce MsiSetExternalUI come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
Client minimo supportato Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP. Per informazioni sul Service Pack minimo di Windows richiesto da una versione di Windows Installer, vedere Windows Installer Run-Time Requirements .See the Windows Installer requirements for information about the minimum Windows Service Pack that is required by a Windows Installer version.
Piattaforma di destinazione Windows
Intestazione msi.h
Libreria Msi.lib
DLL Msi.dll

Vedi anche

Funzioni di interfaccia e registrazione