MsiEmbeddedChainer-Tabelle
Verwenden Sie diese Tabelle, um eine Installation mit mehreren Paketenzu erstellen. Jede Zeile in der MsiEmbeddedChainer-Tabelle verweist auf eine andere benutzerdefinierte Funktion, die verwendet werden kann, um mehrere Windows Installer-Pakete aus einem einzelnen Paket zu installieren. Die ausführbaren Dateien für die benutzerdefinierten Funktionen werden im paket Windows Installer gespeichert.
Windows Installer 4.0 oder früher: Wird nicht unterstützt. Diese Tabelle ist ab Windows Installer 4.5 verfügbar.
Windows Server 2008 R2 mit aktivierter Remotedesktopdienste-Rolle: Wird nicht unterstützt. Bei einer Installation mehrerer Pakete mithilfe der MsiEmbeddedChainer-Tabelle tritt ein Fehler auf, wenn die Remotedesktopdienste-Rolle aktiviert ist.
Um mehrere Pakete aus einem einzelnen Paket zu installieren, muss eine der benutzerdefinierten Funktionen, die in der MsiEmbeddedChainer-Tabelle aufgeführt sind, über eine bedingte Anweisung im Feld Bedingung verfügen, die auswertet, um die Aktion auszuführen. Wenn mehr als eine Funktion über eine Bedingung verfügt, die als ausgeführt ausgewertet wird, kann nur eine Funktion ausgeführt werden. Dieser Fall ist ein Fehler, und es kann nicht garantiert werden, welche Funktion ausgeführt wird. Wenn für die Installation andere benutzerdefinierte Aktionen erforderlich sind, sollten diese in der Tabelle CustomAction und in den Sequenztabellen erstellt werden.
Die Funktionen müssen der aktuellen Installation durch Aufrufen der MsiJoinTransaction-Funktion beitreten und die MsiEndTransaction-Funktion aufrufen, um die Installation mehrerer Pakete zu committen. Wenn die Funktionen vor dem Aufrufen von MsiEndTransaction zurückgeben, führt das Installationsprogramm ein Rollback aller Installationen aus.
Die Tabelle MsiEmbeddedChainer enthält die folgenden Spalten.
| Spalte | Typ | Schlüssel | Nullwerte zulässig |
|---|---|---|---|
| MsiEmbeddedChainer | Identifier | J | N |
| Bedingung | Condition | N | J |
| CommandLine | Formatiert | N | J |
Source |
CustomSource | N | N |
| type | Integer | N | N |
Spalten
-
MsiEmbeddedChainer
-
Der Primärschlüssel für die Tabelle. Dieser Wert ist ein eindeutiger Bezeichner für die benutzerdefinierte Funktion, die von dieser Zeile beschrieben wird.
-
Zustand
-
Eine bedingte Anweisung zum Ausführen der benutzerdefinierten Funktion. Sie können die in der MsiEmbeddedChainer-Tabelle aufgeführten Funktionen mithilfe einer Transformation aktivieren oder deaktivieren, die von diesem Feld ausgewertete Eigenschaftswerte ändert. Weitere Informationen finden Sie unter Verwenden von Eigenschaften in bedingten Anweisungen.
-
Commandline
-
Der Wert in diesem Feld ist Ein Teil der Befehlszeilenzeichenfolge, die an die ausführbare Datei übergeben wird, die in der Spalte Quelle angegeben ist. Das Installationsprogramm fügt den Wert in diesem Feld an das Transaktionshandle an, um die Befehlszeile zu generieren. Wenn der Wert in dieser Spalte NULL ist, besteht die Befehlszeile nur aus dem Transaktionshandle.
-
Quelle
-
Der Speicherort der ausführbaren Datei für die benutzerdefinierte Funktion. Wenn der Wert in der Spalte Typ 2 ist, kann diese Spalte einen externen Schlüssel in der Binärtabelleenthalten. Wenn der Wert in der Spalte Typ 18 ist, kann diese Spalte einen externen Schlüssel in der Dateitabelleenthalten. Wenn der Wert in der Spalte Type 50 ist, kann diese Spalte einen externen Schlüssel in der Property-Tabelleenthalten.
-
Typ
-
Die in der Tabelle MsiEmbeddedChainer aufgeführten Funktionen werden mit den folgenden numerischen Aktionstypen beschrieben. Diese Spalte kann nur die Werte für die folgenden drei numerischen Typen enthalten: Jede andere Kombination benutzerdefinierter Aktionsflags wird ignoriert.
Benutzerdefinierter Aktionstyp Benutzerdefinierte Aktionsflags Hexadezimal Decimal Benutzerdefinierter Aktionstyp 2 msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData 0x002 2 Benutzerdefinierter Aktionstyp 18 msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile 0x012 18 Benutzerdefinierter Aktionstyp 50 msidbCustomActionTypeExe + msidbCustomActionTypeProperty 0x032 50
Bemerkungen
Der Windows Installer verhindert nicht, dass die benutzerdefinierten Funktionen in dieser Tabelle während der Ankündigung der Anwendung ausgeführt werden. Sie können eine bedingte Anweisung in der Spalte Bedingung verwenden, um zu verhindern, dass eine Funktion während der Ankündigung ausgeführt wird.
Der Windows Installer bietet auch einen nicht eingebetteten externen Ui-Handler zum Erstellen einer umfassenden Benutzeroberfläche auf der Grundlage des Windows Installer-Pakets. Weitere Informationen zur Verwendung eines externen Ui-Handlers mit dem Windows Installer finden Sie unter Überwachen einer Installation mithilfe von MsiSetExternalUI.
Die Tabelle MsiPackageCertificate listet digitale Signaturzertifikate auf, mit denen die Identität der Installationspakete überprüft wird, die eine Installation mit mehreren Paketen durchführen. Sie können diese Tabelle verwenden, um zu reduzieren, wie oft bei der Installation mehrerer Pakete eine Eingabeaufforderung für die Benutzerkontensteuerung (User Account Control, UAC) angezeigt wird, die eine Antwort durch einen Administrator erfordert.