MsiSetExternalUIRecord-Funktion (msi.h)

Die MsiSetExternalUIRecord-Funktion aktiviert einen externen Benutzeroberflächenhandler.

Syntax

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

Parameter

[in] puiHandler

Gibt eine Rückruffunktion an, die der INSTALLUI_HANDLER_RECORD Spezifikation entspricht.

Um den aktuellen externen UI-Handler zu deaktivieren, rufen Sie die Funktion auf, wobei dieser Parameter auf einen NULL-Wert festgelegt ist.

[in] dwMessageFilter

Gibt an, welche Nachrichten mithilfe des externen Nachrichtenhandlers verarbeitet werden sollen. Wenn der externe Handler ein Ergebnis ungleich 0 zurückgibt, wird diese Nachricht nicht an die Benutzeroberfläche gesendet, sondern die Nachricht wird protokolliert, wenn die Protokollierung aktiviert ist. Weitere Informationen finden Sie unter MsiEnableLog.

Wert Bedeutung
INSTALLLOGMODE_FILESINUSE
Informationen zu verwendeten Dateien.

Wenn diese Nachricht empfangen wird, sollte ein FilesInUse-Dialogfeld angezeigt werden.

INSTALLLOGMODE_FATALEXIT
Vorzeitiges Beenden der Installation.
INSTALLLOGMODE_ERROR
Die Fehlermeldungen werden protokolliert.
INSTALLLOGMODE_WARNING
Die Warnmeldungen werden protokolliert.
INSTALLLOGMODE_USER
Die Benutzeranforderungen werden protokolliert.
INSTALLLOGMODE_INFO
Die status Nachrichten, die nicht angezeigt werden, werden protokolliert.
INSTALLLOGMODE_RESOLVESOURCE
Anforderung zum Ermitteln eines gültigen Quellspeicherorts.
INSTALLLOGMODE_RMFILESINUSE
Informationen zu verwendeten Dateien. Wenn diese Nachricht empfangen wird, sollte ein MsiRMFilesInUse-Dialogfeld angezeigt werden.
INSTALLLOGMODE_OUTOFDISKSPACE
Der ist nicht genügend Speicherplatz.
INSTALLLOGMODE_ACTIONSTART
Der Start neuer Installationsaktionen wird protokolliert.
INSTALLLOGMODE_ACTIONDATA
Der Datensatz mit der Installationsaktion wird protokolliert.
INSTALLLOGMODE_COMMONDATA
Die Parameter für die Initialisierung der Benutzeroberfläche werden protokolliert.
INSTALLLOGMODE_PROGRESS
Die Statusleisteninformationen .

Diese Nachricht enthält Informationen zu den bisherigen Einheiten und der Gesamtanzahl der Einheiten. Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert. Weitere Informationen finden Sie unter MsiProcessMessage.

INSTALLLOGMODE_INITIALIZE
Wenn es sich nicht um eine ruhige Installation handelt, wird die grundlegende Benutzeroberfläche initialisiert.

Wenn es sich um eine vollständige UI-Installation handelt, ist die vollständige Benutzeroberfläche noch nicht initialisiert.

Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert.

INSTALLLOGMODE_TERMINATE
Wenn eine vollständige Benutzeroberfläche verwendet wird, wurde die vollständige Benutzeroberfläche beendet.

Wenn es sich nicht um eine ruhige Installation handelt, wurde die grundlegende Benutzeroberfläche nicht beendet.

Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert.

INSTALLLOGMODE_SHOWDIALOG
Wird vor der Anzeige des Dialogfelds "Vollständige Benutzeroberfläche" gesendet.

Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert.

INSTALLLOGMODE_INSTALLSTART
Die Installation des Produkts beginnt.

Die Meldung enthält die Eigenschaften ProductName und ProductCode des Produkts.

INSTALLLOGMODE_INSTALLEND
Die Installation des Produkts endet.

Die Meldung enthält die Eigenschaften ProductName und ProductCode sowie den Rückgabewert des Produkts.

[in] pvContext

Ein Zeiger auf einen Anwendungskontext, der an die Rückruffunktion übergeben wird.

Dieser Parameter kann für die Fehlerüberprüfung verwendet werden.

[out, optional] ppuiPrevHandler

Gibt den Zeiger auf die zuvor festgelegte Rückruffunktion zurück, die der INSTALLUI_HANDLER_RECORD Spezifikation entspricht, oder NULL , wenn zuvor kein Rückruf festgelegt wurde.

Rückgabewert

Rückgabecode Beschreibung
ERROR_SUCCESS
Die Funktion wird erfolgreich abgeschlossen.
ERROR_CALL_NOT_IMPLEMENTED
Dieser Wert gibt an, dass versucht wird, diese Funktion über eine benutzerdefinierte Aktion aufzurufen.

Diese Funktion kann nicht über eine benutzerdefinierte Aktion aufgerufen werden.

Hinweise

Diese Funktion kann nicht über benutzerdefinierte Aktionen aufgerufen werden.

Der externe UI-Handler, der durch Aufrufen von MsiSetExternalUIRecord aktiviert wird, empfängt Nachrichten im Format eines Datensatzobjekts. Der externe UI-Handler, der durch Aufrufen von MsiSetExternalUI aktiviert wird, empfängt Nachrichten im Format einer Zeichenfolge. Eine externe Benutzeroberfläche wird immer vor der internen Windows Installer-Benutzeroberfläche aufgerufen. Eine aktivierte datensatzbasierte externe Benutzeroberfläche wird vor jeder zeichenfolgenbasierten externen Benutzeroberfläche aufgerufen. Wenn der datensatzbasierte externe UI-Handler 0 (Null) zurückgibt, wird die Nachricht an einen beliebigen aktivierten Zeichenfolgenbasierten externen UI-Handler gesendet. Wenn der externe UI-Handler einen Wert ungleich 0 zurückgibt, wird der interne Windows Installer-UI-Handler unterdrückt, und die Nachrichten werden als behandelt betrachtet.

Diese Funktion speichert die von ihr festgelegten externen Benutzeroberflächen. Um den aktuellen externen UI-Handler durch einen vorherigen Handler zu ersetzen, rufen Sie die Funktion auf, und geben Sie den INSTALLUI_HANDLER_RECORD als puiHandler-Parameter und 0 (Null) als dwMessageFilter-Parameter an.

Der externe Benutzeroberflächeshandler, auf den der puiHandler-Parameter verweist, hat keine vollständige Kontrolle über die externe Benutzeroberfläche, es sei denn , MsiSetInternalUI wird aufgerufen, wobei der dwUILevel-Parameter auf INSTALLUILEVEL_NONE festgelegt ist. Wenn MsiSetInternalUI nicht aufgerufen wird, wird die interne Benutzeroberflächenebene standardmäßig auf INSTALLUILEVEL_BASIC. Daher wird jede Nachricht, die nicht vom externen Benutzeroberflächeshandler verarbeitet wird, von Windows Installer verarbeitet. Die erste "Vorbereitung auf die Installation. . " wird immer angezeigt, auch wenn der externe Benutzeroberflächenhandler alle Nachrichten verarbeitet. MsiSetExternalUI sollte nur von einer Bootstrapping-Anwendung aufgerufen werden. Sie können MsiSetExternalUI nicht über eine benutzerdefinierte Aktion aufrufen.

Um diesen externen UI-Handler zu deaktivieren, rufen Sie MsiSetExternalUIRecord mit einem NULL-Wert für den puiHandler-Parameter auf.

Windows Installer 2.0 und Windows Installer 3.0: Nicht unterstützt. Die MsiSetExternalUIRecord-Funktion ist ab Windows Installer 3.1 verfügbar.

Weitere Informationen zur Verwendung eines datensatzbasierten externen Handlers finden Sie unter Überwachen einer Installation mithilfe von MsiSetExternalUIRecord.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Informationen zum minimal erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen.
Zielplattform Windows
Kopfzeile msi.h
Bibliothek Msi.lib
DLL Msi.dll

Weitere Informationen

Schnittstellen- und Protokollierungsfunktionen

Nicht von Windows Installer 3.0 und früher unterstützt