Freigeben über


MsiEmbeddedChainer-Tabelle

Verwenden Sie diese Tabelle, um eine Installation mit mehreren Paketen zu erstellen. Jede Zeile in der MsiEmbeddedChainer-Tabelle verweist auf eine andere benutzerdefinierte Funktion, die zum Installieren mehrerer Windows Installer-Pakete aus einem einzelnen Paket verwendet werden kann. Die ausführbaren Dateien für die benutzerdefinierten Funktionen werden im Windows Installer-Paket gespeichert.

Windows Installer 4.0 oder früher: 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 Installation mehrerer Pakete mithilfe 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 MsiEmbeddedChainer-Tabelle aufgeführt sind, eine bedingte Anweisung im Bedingungsfeld aufweisen, bei deren Auswertung die Aktion ausgeführt wird. Wenn mehrere Funktionen über eine Bedingung verfügen, bei deren Auswertung die Ausführung erfolgt, kann nur eine Funktion ausgeführt werden. Dieser Fall ist ein Fehler, wobei nicht garantiert werden kann, welche Funktion ausgeführt wird. Wenn für die Installation andere benutzerdefinierte Aktionen erforderlich sind, sollten diese in der CustomAction-Tabelle und in Sequenztabellen erstellt werden.

Die Funktionen müssen die aktuelle Installation durch Aufrufen der MsiJoinTransaction-Funktion zusammenführen und die MsiEndTransaction-Funktion aufrufen, um die Installation mehrerer Pakete zu committen. Wenn die Funktionen vor dem Aufrufen von MsiEndTransaction zurückgegeben werden, führt das Installationsprogramm ein Rollback für alle Installationen durch.

Die MsiEmbeddedChainer-Tabelle enthält die folgenden Spalten.

Spalte Typ Schlüssel Nullwerte zulässig
MsiEmbeddedChainer Identifier J N
Bedingung Condition N J
CommandLine Formatted (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 in dieser Zeile beschrieben wird.

Bedingung

Eine Bedingungsanweisung für die Ausführung 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 Bedingungsanweisungen.

CommandLine

Der Wert in diesem Feld ist Teil der Befehlszeilenzeichenfolge, die an die ausführbare Datei übergeben wird, die in der Quellenspalte 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 Typspalte 2 ist, kann diese Spalte einen externen Schlüssel in der Binärtabelle enthalten. Wenn der Wert in der Typspalte 18 ist, kann diese Spalte einen externen Schlüssel in der Dateitabelle enthalten. Wenn der Wert in der Typspalte 50 ist, kann diese Spalte einen externen Schlüssel in der Eigenschaftentabelle enthalten.

Typ

Die in der MsiEmbeddedChainer-Tabelle aufgeführten Funktionen werden mithilfe der folgenden numerischen Aktionstypen beschrieben. Diese Spalte kann nur die Werte für die folgenden drei numerischen Typen enthalten. Jede andere Kombination von benutzerdefinierten 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

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 Bedingungsspalte 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, um eine umfassende Benutzeroberfläche für das 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-Tabelle enthält digitale Signaturzertifikate, die zum Überprüfen der Identität der Installationspakete verwendet werden, die eine Installation mit mehreren Paketen durchführen. Sie können diese Tabelle verwenden, damit ihre Installation mit mehreren Paketen seltener eine Eingabeaufforderung für die Benutzerkontensteuerung (UAC) anzeigt, die ein Eingreifen durch einen Administrator erfordert.