MsiSetExternalUIW-Funktion (msi.h)
Die MsiSetExternalUI--Funktion ermöglicht einen externen Benutzeroberflächenhandler. Dieser externe UI-Handler wird vor dem normalen internen Benutzeroberflächenhandler aufgerufen. Der externe UI-Handler hat die Möglichkeit, die interne Benutzeroberfläche zu unterdrücken, indem ein Wert ungleich Null zurückgegeben wird, um anzugeben, dass er die Meldungen verarbeitet hat. Weitere Informationen finden Sie unter Informationen zur Benutzeroberfläche.
Syntax
INSTALLUI_HANDLERW MsiSetExternalUIW(
[in] INSTALLUI_HANDLERW puiHandler,
[in] DWORD dwMessageFilter,
[in] LPVOID pvContext
);
Parameter
[in] puiHandler
Gibt eine Rückruffunktion an, die der INSTALLUI_HANDLER Spezifikation entspricht.
[in] dwMessageFilter
Gibt an, welche Nachrichten mithilfe des externen Nachrichtenhandlers verarbeitet werden sollen. Wenn der externe Handler ein Nicht-Null-Ergebnis zurückgibt, wird diese Nachricht nicht an die Benutzeroberfläche gesendet, sondern die Nachricht wird protokolliert, wenn die Protokollierung aktiviert wurde. Weitere Informationen finden Sie in der funktion MsiEnableLog.
Wert | Bedeutung |
---|---|
|
Verwendete Dateien. Wenn diese Nachricht empfangen wird, sollte ein FilesInUse Dialog angezeigt werden. |
|
Vorzeitige Beendigung der Installation. |
|
Die Fehlermeldungen werden protokolliert. |
|
Die Warnmeldungen werden protokolliert. |
|
Die Benutzeranforderungen werden protokolliert. |
|
Die statusmeldungen, die nicht angezeigt werden, werden protokolliert. |
|
Anforderung zum Ermitteln eines gültigen Quellspeicherorts. |
|
Verwendete Dateien. Wenn diese Nachricht empfangen wird, sollte ein MsiRMFilesInUse Dialog angezeigt werden. |
|
Nicht genügend Speicherplatz vorhanden. |
|
Der Start neuer Installationsaktionen wird protokolliert. |
|
Der Datensatz mit der Installationsaktion wird protokolliert. |
|
Die Parameter für die Initialisierung der Benutzeroberfläche werden protokolliert. |
|
Statusanzeige Informationen. Diese Meldung enthält Informationen zu einheiten bis heute und die Gesamtanzahl der Einheiten. Eine Erläuterung des Nachrichtenformats finden Sie in der funktion MsiProcessMessage. Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert. |
|
Wenn dies keine ruhige Installation ist, wurde die grundlegende UI- initialisiert. Wenn es sich um eine vollständige UI- Installation handelt, wird die vollständige UI- noch nicht initialisiert. Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert. |
|
Wenn eine vollständige UI- verwendet wird, wurde die vollständige UI- beendet. Wenn dies keine ruhige Installation ist, wurde die grundlegende UI- noch nicht beendet. Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert. |
|
Vor der Anzeige des dialogfelds vollständigen UI- gesendet. Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert. |
|
Die Installation des Produkts beginnt.
Die Nachricht enthält den ProductName und Den ProductCode des Produkts. |
|
Die Installation von Produktenden wird beendet.
Die Nachricht enthält den ProductName-, ProductCode- und Rückgabewert des Produkts. |
[in] pvContext
Zeiger auf einen Anwendungskontext, der an die Rückruffunktion übergeben wird. Dieser Parameter kann für die Fehlerüberprüfung verwendet werden.
Rückgabewert
Der Rückgabewert ist der zuvor festgelegte externe Handler oder Null (0), wenn kein zuvor festgelegter Handler vorhanden war.
Bemerkungen
Um den vorherigen Ui-Handler wiederherzustellen, wird der zweite Aufruf an MsiSetExternalUI mithilfe der INSTALLUI_HANDLER, die vom ersten Aufruf von MsiSetExternalUI- zurückgegeben und null (0) für dwMessageFilter angegeben.
Der externe Benutzeroberflächenhandler, auf den der puiHandler Parameter verweist, verfügt nicht über die 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 standardmäßig die interne Benutzeroberflächenebene INSTALLUILEVEL_BASIC. Daher wird jede Nachricht, die vom Handler für die externe Benutzeroberfläche nicht behandelt wird, von Windows Installer behandelt. Die erste "Vorbereitung der Installation. . " Dialogfeld wird immer angezeigt, auch wenn der Handler der externen Benutzeroberfläche alle Nachrichten verarbeitet.
MsiSetExternalUI- sollte nur von einer Bootstrapping- Anwendung aufgerufen werden. Sie können MsiSetExternalUI- nicht aus einer benutzerdefinierten Aktion aufrufen.
Anmerkung
Der msi.h-Header definiert MsiSetExternalUI als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte 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. Windows Installer unter Windows Server 2003 oder Windows XP. Informationen zum mindestens von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen. |
Zielplattform- | Fenster |
Header- | msi.h |
Library | Msi.lib |
DLL- | Msi.dll |