Condividi tramite


Funzione MsiSetExternalUIRecord (msi.h)

La funzione MsiSetExternalUIRecord abilita un gestore dell'interfaccia utente esterno.

Sintassi

UINT MsiSetExternalUIRecord(
  [in]            INSTALLUI_HANDLER_RECORD  puiHandler,
  [in]            DWORD                     dwMessageFilter,
  [in]            LPVOID                    pvContext,
  [out, optional] PINSTALLUI_HANDLER_RECORD ppuiPrevHandler
);

Parametri

[in] puiHandler

Specifica una funzione di callback conforme alla specifica INSTALLUI_HANDLER_RECORD .

Per disabilitare il gestore dell'interfaccia utente esterna corrente, chiamare la funzione con questo parametro impostato su un valore NULL .

[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 viene inviato all'interfaccia utente, ma viene registrato se la registrazione è abilitata. Per altre informazioni, vedere 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à. Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato. Per altre informazioni, vedere MsiProcessMessage.

INSTALLLOGMODE_INITIALIZE
Se non si tratta di un'installazione non interattiva, l'interfaccia utente di base viene 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 è 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 Interfaccia utente completa.

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.

[out, optional] ppuiPrevHandler

Restituisce il puntatore alla funzione di callback impostata in precedenza conforme alla specifica INSTALLUI_HANDLER_RECORD oppure NULL se non è stato impostato alcun callback in precedenza.

Valore restituito

Codice restituito Descrizione
ERROR_SUCCESS
La funzione viene completata correttamente.
ERROR_CALL_NOT_IMPLEMENTED
Questo valore indica che viene effettuato un tentativo di chiamare questa funzione da un'azione personalizzata.

Questa funzione non può essere chiamata da un'azione personalizzata.

Commenti

Questa funzione non può essere chiamata da Azioni personalizzate.

Il gestore dell'interfaccia utente esterno abilitato chiamando MsiSetExternalUIRecord riceve i messaggi nel formato di un oggetto Record. Il gestore dell'interfaccia utente esterno abilitato chiamando MsiSetExternalUI riceve i messaggi nel formato di una stringa. Un'interfaccia utente esterna viene sempre chiamata prima dell'interfaccia utente interna di Windows Installer. Un'interfaccia utente esterna basata su record abilitata viene chiamata prima di qualsiasi interfaccia utente esterna basata su stringa. Se il gestore dell'interfaccia utente esterna basato su record restituisce 0 (zero), il messaggio viene inviato a qualsiasi gestore dell'interfaccia utente esterno basato su stringhe abilitato. Se il gestore dell'interfaccia utente esterno restituisce un valore diverso da zero, il gestore interno dell'interfaccia utente di Windows Installer viene eliminato e i messaggi vengono considerati gestiti.

Questa funzione archivia le interfacce utente esterne impostate. Per sostituire il gestore dell'interfaccia utente esterna corrente con un gestore precedente, chiamare la funzione e specificare il INSTALLUI_HANDLER_RECORD come parametro puiHandler e 0 (zero) come parametro 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.

Per disabilitare questo gestore dell'interfaccia utente esterno, chiamare MsiSetExternalUIRecord con un valore NULL per il parametro puiHandler .

Windows Installer 2.0 e Windows Installer 3.0: Non supportato. La funzione MsiSetExternalUIRecord è disponibile a partire da Windows Installer 3.1.

Per altre informazioni sull'uso di un gestore esterno basato su record, vedere Monitoraggio di un'installazione tramite MsiSetExternalUIRecord.

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. 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

Non supportato in Windows Installer 3.0 e versioni precedenti