MsiEmbeddedUI-Tabelle
In der MsiEmbeddedUI-Tabelle wird eine Benutzeroberfläche definiert, die in das Windows Installer-Paket eingebettet ist.
Windows Installer 4.0 oder früher: Nicht unterstützt. Diese Tabelle ist ab Windows Installer 4.5 verfügbar.
Die MsiEmbeddedUI-Tabelle enthält die folgenden Spalten.
Spalte | Typ | Schlüssel | Nullwerte zulässig |
---|---|---|---|
MsiEmbeddedUI | Identifier | J | N |
FileName | Text | N | N |
Attribute | Integer | N | N |
MessageFilter | DoubleInteger | N | J |
Daten | Binär (Binary) | N | N |
Spalten
-
MsiEmbeddedUI
-
Der Primärschlüssel für die Tabelle.
-
FileName
-
Der Name der Datei, die die Binärinformationen in der Datenspalte empfängt. Der Name der Datei muss eine Erweiterung enthalten. Beispielsweise ist der Name embeddedui.dll akzeptabel, aber embeddedui ist inakzeptabel. Der Name kann lokalisiert werden. Dieses Feld kann einen kurzen Dateinamen oder einen langen Dateinamen enthalten, nicht jedoch beide Namensvarianten. Das Format dieses Felds ähnelt dem Spaltendatentyp FileName, mit der Ausnahme, dass das Trennzeichen „senkrechter Strich“ (|) für die Syntax des kurzen Dateinamens/langen Dateinamens nicht verfügbar ist. Da bei einigen Webservern gegebenenfalls die Groß-/Kleinschreibung beachtet wird, muss FileName genau mit der Groß-/Kleinschreibung der Quelldateien übereinstimmen, damit die Unterstützung von Internetdownloads gewährleistet ist.
-
Attributes
-
Informationen zu den Daten in der Datenspalte. Der Wert in diesem Feld kann mindestens eine der folgenden Konstanten enthalten.
Konstant Hexadezimal Decimal Bedeutung Keine 0x00 0 Die Datei ist nicht die DLL-Datei für die Benutzeroberfläche. Es kann sich um eine Ressourcendatei handeln, die von der Benutzeroberfläche verwendet wird. msidbEmbeddedUI 0x01 1 Die primäre DLL-Datei für die Benutzeroberfläche. Mit diesem Attribut kann maximal eine Zeile in der Tabelle markiert werden. Wenn mehrere Zeilen mit diesem Attribut gekennzeichnet sind, handelt es sich um einen Fehler, und es kann nicht garantiert werden, welche DLL verwendet wird. msidbEmbeddedHandlesBasic 0x02 2 Ermöglicht dem Installationsprogramm das Aufrufen der eingebetteten Benutzeroberfläche während einer einfachen Installation auf Ebene der Benutzeroberfläche. Dieses Attribut wird vom Installationsprogramm ignoriert, wenn es nicht mit dem Attribut msidbEmbeddedUI kombiniert wird. -
MessageFilter
-
Gibt die Typen von Nachrichten an, die an die Benutzeroberflächen-DLL gesendet werden. Diese Spalte ist nur für Zeilen mit dem Attribut msidbEmbeddedUI relevant. Dieses Feld muss NULL sein, wenn eine Zeile auf eine Ressourcendatei verweist und der Wert von Attributes NULL ist. Wenn eine Zeile auf eine Benutzeroberflächen-DLL verweist, darf der Wert in dieser Spalte nicht NULL sein.
Der Wert in dieser Spalte kann eine Kombination der folgenden Werte sein. Alle anderen Werte werden vom Installationsprogramm ignoriert.
Konstant Hexadezimal Decimal BESCHREIBUNG INSTALLLOGMODE_FATALEXIT 0x00001 1 Vorzeitige Beendigung. INSTALLLOGMODE_ERROR 0x00002 2 Fehlermeldungen INSTALLLOGMODE_WARNING 0x00004 4 Warnmeldungen. INSTALLLOGMODE_USER 0x00008 8 Benutzernachrichten. INSTALLLOGMODE_INFO 0x00010 16 Unprotokollierte Statusmeldungen. INSTALLLOGMODE_FILESINUSE 0x00020 32 Derzeit verwendete Dateien. INSTALLLOGMODE_RESOLVESOURCE 0x00040 64 Quellauflösungsanforderungen. INSTALLLOGMODE_OUTOFDISKSPACE 0x00080 128 Meldungen zum Speicherplatz. INSTALLLOGMODE_ACTIONSTART 0x00100 256 Aktionsstartmeldungen. INSTALLLOGMODE_ACTIONDATA 0x00200 512 Aktionsdatenmeldungen. INSTALLLOGMODE_PROGRESS 0x00400 1024 Fortschrittsmeldungen. INSTALLLOGMODE_COMMONDATA 0x00800 2048 Benutzeroberflächen-Initialisierungsmeldungen. INSTALLLOGMODE_INITIALIZE 0x01000 4096 Benutzeroberflächen-Startmeldungen, die beim Starten einer Produktinstallation gesendet werden. INSTALLLOGMODE_TERMINATE 0x02000 8192 Benutzeroberflächenmeldungen zum Herunterfahren des Systems, die nach Abschluss einer Produktinstallation gesendet werden. INSTALLLOGMODE_SHOWDIALOG 0x04000 16384 Nachrichten, die vor der Anzeige eines Dialogfelds der Benutzeroberfläche gesendet werden. INSTALLLOGMODE_RMFILESINUSE 0x02000000 33554432 Derzeit verwendete Dateien. INSTALLLOGMODE_INSTALLSTART 0x04000000 67108864 Die Installation des Produkts beginnt. Die Meldung enthält die Eigenschaften ProductName und ProductCode des Produkts. INSTALLLOGMODE_INSTALLEND 0x08000000 134217728 Die Installation des Produkts endet. Die Meldung enthält die Eigenschaften ProductName und ProductCode sowie den Rückgabewert des Produkts. -
Data
-
Diese Spalte enthält binäre Informationen. Wenn das Attributfeld mit dem Attribut msidbEmbeddedUI gekennzeichnet ist, müssen die Informationen in diesem Feld eine DLL sein. Wenn das Attributfeld nicht das Attribut msidbEmbeddedUI ist, können die Informationen in diesem Feld eine Ressourcendatei in einem beliebigen Format sein.
Bemerkungen
Damit Sie eine eingebettete Benutzeroberfläche verwenden können, muss der Setupentwickler diese Funktionalität im Windows Installer-Paket erstellen. In der MsiEmbeddedUI-Tabelle wird die eingebettete Benutzeroberfläche definiert. Über die DLL für die eingebettete Benutzeroberfläche sollten die Funktionen InitializeEmbeddedUI, EmbeddedUIHandler und ShutdownEmbeddedUI exportiert werden. Bei Paketen, die keine eingebettete Benutzeroberfläche unterstützen, kann die interne Benutzeroberfläche von Windows Installer verwendet werden.
Verwenden Sie zum Ausführen von Debugtools für Windows auf einer eingebetteten Benutzeroberfläche die unter Debuggen von benutzerdefinierten Aktionen beschriebenen Techniken. Legen Sie den Wert von MsiBreak auf MsiEmbeddedUI fest.
Ein Beispiel für eine eingebettete benutzerdefinierte Benutzeroberfläche finden Sie unter Verwenden einer eingebetteten Benutzeroberfläche.