MsiSetExternalUIA-Funktion (msi.h)

Die MsiSetExternalUI-Funktion aktiviert 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 er einen Wert ungleich 0 (null) zurückgibt, um anzugeben, dass er die Nachrichten verarbeitet hat. Weitere Informationen finden Sie unter Informationen zur Benutzeroberfläche.

Syntax

INSTALLUI_HANDLERA MsiSetExternalUIA(
  [in] INSTALLUI_HANDLERA 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 Ergebnis ungleich Null 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 MsiEnableLog-Funktion .

Wert Bedeutung
INSTALLLOGMODE_FILESINUSE
Informationen zu verwendeten Dateien. Wenn diese Meldung 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 Meldungen, 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
Es war nicht genügend Speicherplatz vorhanden.
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
Statusleisteninformationen . Diese Meldung enthält Informationen zu den bisherigen Einheiten und der Gesamtzahl der Einheiten. Eine Erläuterung des Nachrichtenformats finden Sie in der MsiProcessMessage-Funktion . Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert.
INSTALLLOGMODE_INITIALIZE
Wenn es sich nicht um eine stille Installation handelt, wurde 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 stille Installation handelt, wurde die einfache Benutzeroberfläche noch nicht beendet. Diese Nachricht wird nur an eine externe Benutzeroberfläche gesendet und nicht protokolliert.
INSTALLLOGMODE_SHOWDIALOG
Wird vor der Anzeige des vollständigen Ui-Dialogfelds 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

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 zuvor kein festgelegter Handler vorhanden war.

Hinweise

Um den vorherigen UI-Handler wiederherzustellen, erfolgt der zweite Aufruf von MsiSetExternalUI mithilfe der INSTALLUI_HANDLER , die vom ersten Aufruf von MsiSetExternalUI zurückgegeben wird, und gibt null (0) für dwMessageFilter an.

Der externe Benutzeroberflächenhandler, 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 werden alle Nachrichten, die nicht vom externen Benutzeroberflächenhandler behandelt werden, von Windows Installer verarbeitet. Die anfängliche "Vorbereitung der 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 aus einer benutzerdefinierten Aktion aufrufen.

Hinweis

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

   
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. Windows Installer unter Windows Server 2003 oder Windows XP. Informationen zum mindestens 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