Freigeben über


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, mit der mehrere Windows Installer-Pakete aus einem einzigen Paket installiert werden können. Die ausführbaren Dateien für die benutzerdefinierten Funktionen werden im Windows Installer-Paket gespeichert.

Windows Installer 4.0 oder frühere: Nicht unterstützt. Diese Tabelle ist ab Windows Installer 4.5 verfügbar.

Windows Server 2008 R2 mit aktivierter Remotedesktopdienste Rolle: Nicht unterstützt. Eine mehrfache Paketinstallation mit der MsiEmbeddedChainer-Tabelle schlägt fehl, wenn die Remotedesktopdienste Rolle aktiviert ist.

Um mehrere Pakete aus einem einzelnen Paket zu installieren, muss eine der benutzerdefinierten Funktionen, die in der Tabelle "MsiEmbeddedChainer" aufgeführt sind, eine bedingte Anweisung im Feld "Bedingung" aufweisen, die die Ausführung der Aktion auswertet. Wenn mehrere Funktionen eine Bedingung aufweisen, die für die Ausführung ausgewertet wird, kann nur eine Funktion ausgeführt werden. Dieser Fall ist ein Fehler und kann nicht garantiert werden, welche Funktion ausgeführt wird. Wenn andere benutzerdefinierte Aktionen von der Installation benötigt werden, sollten diese in der CustomAction-Tabelle und Sequenztabellen erstellt werden.

Die Funktionen müssen der aktuellen Installation beitreten, indem sie die MsiJoinTransaction--Funktion aufruft und die MsiEndTransaction--Funktion aufrufen muss, um die Installation mehrerer Pakete zu übernehmen. Wenn die Funktionen vor dem Aufrufen MsiEndTransaction-zurückgegeben werden, setzt das Installationsprogramm alle Installationen zurück.

Die Tabelle "MsiEmbeddedChainer" enthält die folgenden Spalten.

Spalte Art Schlüssel Nullable
MsiEmbeddedChainer Bezeichner Y N
Zustand Bedingung N Y
CommandLine formatierte N Y
Quelle CustomSource- N N
Art ganze Zahl N N

 

Spalten

MsiEmbeddedChainer

Der Primärschlüssel für die Tabelle. Dieser Wert ist ein eindeutiger Bezeichner für die von dieser Zeile beschriebene benutzerdefinierte Funktion.

Bedingung

Eine bedingte Anweisung zum Ausführen der benutzerdefinierten Funktion. Sie können die in der MsiEmbeddedChainer-Tabelle aufgeführten Funktionen aktivieren oder deaktivieren, indem Sie eine Transformation verwenden, die eigenschaftswerte ändert, die von diesem Feld ausgewertet werden. Weitere Informationen finden Sie unter Verwenden von Eigenschaften in bedingten Anweisungen.

CommandLine

Der Wert in diesem Feld ist 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 "Typ" 50 ist, kann diese Spalte einen externen Schlüssel in der Property-Tabelleenthalten.

Typ

Die in der Tabelle "MsiEmbeddedChainer" aufgeführten Funktionen werden mithilfe der folgenden benutzerdefinierten Aktions numerischen Typen beschrieben. Diese Spalte kann nur die Werte für die folgenden drei numerischen Typen enthalten. eine andere Kombination von benutzerdefinierten Aktionskennzeichnungen wird ignoriert.

Benutzerdefinierter Aktionstyp Benutzerdefinierte Aktionskennzeichnungen Hexadezimal Dezimal
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.

Windows Installer bietet auch einen nicht eingebetteten externen UI-Handler, um eine umfassende Benutzeroberfläche über dem Windows Installer-Paket zu erstellen. Weitere Informationen zur Verwendung eines externen UI-Handlers mit windows Installer finden Sie unter Überwachen einer Installation mithilfe von MsiSetExternalUI-.

Die MsiPackageCertificate Table listet digitale Signaturzertifikate auf, die verwendet werden, um die Identität der Installationspakete zu überprüfen, die eine Mehrpaketinstallation bilden. Sie können diese Tabelle verwenden, um zu verringern, wie oft die Installation mit mehreren Paketen eine Benutzerkontosteuerungsaufforderung (User Account Control, UAC) anzeigt, die eine Antwort von einem Administrator erfordert.