Parsing Windows Installer Messages
Ein externer UI-Handler kann die Liste der Installermeldungen verarbeiten, die vom dwMessagedFilter-Parameter der MsiSetExternalUI-Funktion angegeben werden. Einige dieser Nachrichten enthalten Zeichenfolgen, die direkt verwendet werden können, und andere Nachrichten müssen möglicherweise vom externen Benutzeroberflächenhandler analysiert und verarbeitet werden, um nützlich zu sein. Ihr externer Benutzeroberflächenhandler muss möglicherweise nur Windows Installer-Meldungen überwachen, ohne einen Vorgang ausführen zu müssen, der sich auf die Installation auswirken kann.
Die folgenden Windows Installer-Meldungen enthalten Zeichenfolgen, die von einem Dialogfeld angezeigt werden können und keine zusätzliche Verarbeitung benötigen. Diese Meldungen enthalten eine Liste von Schaltflächen und Symbolen, die von einem Dialogfeld angezeigt werden sollen. Sie können die WERTE MB _ ICONMASK, MB _ DEFMASK und MB _ TYPEMASK verwenden, um Symbole und Schaltflächen anzugeben.
-
INSTALLMESSAGE _ FATALEXIT
-
Die Installation wurde vorzeitig beendet.
-
_INSTALLMESSAGE-FEHLER
-
Formatierte Fehlermeldung.
-
INSTALLMESSAGE _ WARNING
-
Formatierte Warnmeldung.
-
INSTALLMESSAGE _ INFO
-
Formatierte Protokollmeldung.
-
INSTALLMESSAGE _ USER
-
Formatierte Benutzermeldung.
-
INSTALLMESSAGE _ OUTOFDISKSPACE
-
Formatierte Meldung, die angibt, dass der Speicherplatz nicht verfügbar ist
Der externe Benutzerhandler kann die folgenden Windows Installer-Meldungen verwenden, um eine Sequenz der Windows Installer-Benutzeroberfläche zu überwachen. Das Installationsprogramm sendet diese Meldungen am Anfang einer Windows Installer-Benutzeroberflächensequenz, da jedes Dialogfeld angezeigt wird, und am Ende der Benutzeroberflächensequenz. Für die Verwendung dieser Nachrichten ist keine Verarbeitung erforderlich.
-
INSTALLMESSAGE _ TERMINATE
-
Diese Meldung gibt das Ende der Benutzeroberflächensequenz an. Die Zeichenfolge ist eine NULL-Zeichenfolge.
-
INSTALLMESSAGE _ INITIALIZE
-
Diese Meldung gibt an, dass die Benutzeroberflächensequenz gestartet wurde. Die Zeichenfolge ist eine NULL-Zeichenfolge.
-
INSTALLMESSAGE _ SHOWDIALOG
-
Die Zeichenfolge enthält den Namen des aktuellen Dialogfelds.
Die folgenden Windows Installer-Meldungen erfordern zusätzliche Verarbeitung durch den externen Benutzeroberflächenhandler.
-
INSTALLMESSAGE _ RESOLVESOURCE
-
Der Handler für die externe Benutzeroberfläche muss 0 zurückgeben und Windows Installer die Behandlung der Nachricht zulassen. Der Handler für die externe Benutzeroberfläche kann auf diese Meldung überwachen, sollte jedoch keine Aktion ausführen, die sich auf die Installation auswirken.
-
INSTALLMESSAGE _ FILESINUSE
-
Auf der externen Benutzeroberfläche sollte als Reaktion auf diese Meldung das Dialogfeld FilesInUse angezeigt werden.
-
INSTALLMESSAGE _ RMFILESINUSE
-
Auf der externen Benutzeroberfläche sollte als Reaktion auf diese Meldung ein Dialogfeld MsiRMFilesInUse angezeigt werden. Verfügbar ab Windows Installer-Version 4.0. Weitere Informationen zu dieser Meldung finden Sie unter Verwenden des Neustart-Managers mit einer externen Benutzeroberfläche.
-
INSTALLMESSAGE _ ACTIONSTART
-
Diese Meldung enthält Informationen zur aktuellen Aktion. Das Format ist Aktion [ ] 1: [ ] 2. [3 , wobei ein Doppelpunkt zum Trennen von Feld 1 und Feld 2 und ein Zeitraum zum Trennen von Feld 2 und ] Feld 3 verwendet wird. Feld [ 1 ] enthält den Zeitpunkt, zu dem die Aktion mithilfe des Time-Eigenschaftsformats gestartet wurde. Feld [ 2 ] enthält den Namen der Aktion aus der Sequenztabelle. Feld [ 3 ] gibt die Beschreibung der Aktion aus der ActionText-Tabelle oder der MsiProcessMessage-Funktion an.
-
INSTALLMESSAGE _ ACTIONDATA
-
Das Format dieser Zeichenfolge wird durch den In der ActionText-Tabelle bereitgestellten Template-Wert oder durch die MsiProcessMessage-Funktion angegeben. Es kann eine unbegrenzte Anzahl von INSTALLMESSAGE _ ACTIONDATA-Nachrichten nach der INSTALLMESSAGE _ ACTIONSTART-Nachricht geben.
-
INSTALLMESSAGE _ COMMONDATA
-
Diese Nachricht hat drei Untertypen: Sprache, Beschriftung und CancelShow. Die Zeichenfolge kann drei Felder enthalten, die durch eine Zahl gefolgt von einem Doppelpunkt getrennt sind. Nicht alle Felder sind erforderlich. Die Nachricht kann eine NULL- oder leere Zeichenfolge ("") sein.
-
Sprache
-
Feld 1 enthält den Wert 0, um anzugeben, dass diese Zeichenfolge Sprachinformationen enthält. Feld 2 enthält einen Sprachwert, bei dem es sich um einen numerischen Sprachbezeichner (LANGID) handelt. Feld 3 ist ein Wert, der eine ANSI-Codepage darstellt.
-
Beschriftung
-
Feld 1 enthält den Wert 1, um anzugeben, dass diese Zeichenfolge den Text einer Beschriftung oder eines Titels enthält. Feld 2 enthält Text, den ein externer Benutzeroberflächenhandler als Titelbeschriftung für ein Dialogfeld verwenden kann. Feld 3 ist NULL oder eine leere ("") Zeichenfolge. Feld 3 kann in der Beschriftungsmeldung fehlen.
-
CancelShow
-
Feld 1 enthält den Wert 2, um anzugeben, dass diese Zeichenfolge Informationen darüber enthält, ob die Schaltfläche "Abbrechen" angezeigt werden soll. Wenn die Schaltfläche "Abbrechen" ausgeblendet werden soll, enthält Feld 2 den Wert 0. Wenn die Schaltfläche "Abbrechen" angezeigt werden soll, enthält Feld 2 den Wert 1.
-
-
INSTALLMESSAGE _ PROGRESS
-
Diese Nachricht hat vier Untertypen: Reset, ActionInfo, ProgressReport und ProgressAddition. Der externe Handler sollte erst dann auf eine dieser Meldungen agieren, wenn die erste Statusmeldung zurückgesetzt empfangen wird. Dies bietet eine Schätzung der Gesamtzahl der Ticks für die Statusleiste.
-
Zurücksetzen
-
Feld 1 enthält den Wert 0, um eine Zurücksetzung der Statusleiste anzugeben. Feld 2 enthält die Gesamtzahl der Ticks in der Statusleiste. Feld 3 enthält den Wert 0 für die Vorwärtsbewegung der Statusleiste. Feld 3 enthält den Wert 1 für die Rückwärtsbewegung der Statusleiste. Der Wert 0 in Feld 4 bedeutet, dass die Installation läuft und die verbleibende Zeit berechnet werden kann. Der Wert 1 in Feld 4 bedeutet, dass das Skript ausgeführt wird und "Please wait ..." -Nachricht kann angezeigt werden. Die Schätzung der Gesamtzahl der Ticks ist eine Näherung und kann ungenau sein.
-
ActionInfo
-
Feld 1 enthält den Wert 1, um anzugeben, dass diese Zeichenfolge Aktionsinformationen enthält. Feld 2 enthält die Anzahl der Ticks, die die Statusleiste für jede ActionData-Nachricht verschiebt, die von der aktuellen Aktion gesendet wird. Wenn Feld 3 den Wert 0 enthält, ignorieren Sie Feld 2. Wenn Feld 3 den Wert 1 enthält, erhöhen Sie die Statusleiste um die Anzahl der Ticks in Feld 2 für jede ActionData-Nachricht, die von der aktuellen Aktion gesendet wird. Feld 4 wird nicht verwendet.
-
ProgressReport
-
Feld 1 enthält den Wert 2, um anzugeben, dass diese Zeichenfolge Statusinformationen enthält. Feld 2 enthält die Anzahl der Ticks, die die Statusleiste verschoben hat. Feld 3 wird nicht verwendet. Feld 4 wird nicht verwendet.
-
ProgressAddition
-
Feld 1 enthält den Wert 3, um anzugeben, dass eine Aktion der Statusleiste Ticks hinzufügen kann. Feld 2 enthält die Anzahl der Ticks, die der erwarteten Gesamtanzahl von Fortschritts-Ticks hinzugefügt werden sollen. Feld 3 wird nicht verwendet. Feld 4 wird nicht verwendet.
-