MsiJoinTransaction-Funktion (msi.h)
Die MsiJoinTransaction-Funktion fordert an, dass der Windows Installer den aktuellen Prozess zum Besitzer der Transaktion macht, die die Installation mehrerer Pakete installiert.
Windows Installer 4.0 und früher: Nicht unterstützt. Diese Funktion ist ab Windows Installer 4.5 verfügbar.
Syntax
UINT MsiJoinTransaction(
[in] MSIHANDLE hTransactionHandle,
[in] DWORD dwTransactionAttributes,
[out] HANDLE *phChangeOfOwnerEvent
);
Parameter
[in] hTransactionHandle
Die Transaktions-ID, die die Transaktion identifiziert und der bezeichner ist, der von der MsiBeginTransaction-Funktion zurückgegeben wird.
[in] dwTransactionAttributes
Attribute der Installation mit mehreren Paketen.
Wert | Bedeutung |
---|---|
|
Wenn 0 oder kein Wert festgelegt ist, schließt Windows Installer die Benutzeroberfläche der vorherigen Installation. |
|
Legen Sie dieses Attribut fest, um anzufordern, dass Windows Installer die eingebettete Benutzeroberfläche erst herunterfahren soll, wenn die Transaktion abgeschlossen ist. |
|
Legen Sie dieses Attribut fest, um anzufordern, dass Windows Installer die eingebettete Benutzeroberfläche von der ursprünglichen Installation überträgt. Wenn die ursprüngliche Installation über keine eingebettete Benutzeroberfläche verfügt, bewirkt das Festlegen dieses Attributs nichts. |
[out] phChangeOfOwnerEvent
Dieser Parameter gibt ein Handle für ein Ereignis zurück, das festgelegt wird, wenn die MsiJoinTransaction-Funktion den Besitzer der Transaktion in einen neuen Besitzer ändert. Der aktuelle Besitzer kann damit bestimmen, wann sich der Besitz der Transaktion geändert hat. Wenn eine Transaktion ohne einen Besitzer belassen wird, wird ein Rollback für die Transaktion ausgeführt.
Rückgabewert
Die MsiJoinTransaction-Funktion kann die folgenden Werte zurückgeben.
Wert | Bedeutung |
---|---|
|
Der Benutzer, der die Transaktion besitzt, und der Benutzer, der die Transaktion verknüpft, sind nicht identisch. |
|
Ein ungültiger Parameter wird an die Funktion übergeben. |
|
Der Besitzer kann nicht geändert werden, während eine aktive Installation ausgeführt wird. |
|
Die angegebene Transaktions-ID ist ungültig. |
Hinweise
Da eine Transaktion jeweils nicht mehr als einem Prozess gehören kann, können die in der MsiEmbeddedChainer-Tabelle erstellten Funktionen MsiJoinTransaction verwenden, um den Besitz der Transaktion anzufordern, bevor die Windows Installer-API zum Konfigurieren oder Installieren einer Anwendung verwendet wird. Das Installationsprogramm überprüft, ob keine Installation ausgeführt wird. Das Installationsprogramm überprüft, ob der Prozess, der den Besitz anfordert, und der Prozess, der derzeit besitzer der Transaktion ist, einen übergeordneten Prozess in derselben Prozessstruktur gemeinsam nutzen. Wenn die Funktion erfolgreich ist, wird der Prozess, der MsiJoinTransaction aufruft, zum aktuellen Besitzer der Transaktion.
MsiJoinTransaction legt die interne Benutzeroberfläche der neuen Installation auf die Ui-Ebene der ursprünglichen Installation fest. Nachdem die neue Installation die Transaktion besitzt, kann msiSetInternalUI aufgerufen werden, um die Ui-Ebene zu ändern. Dadurch kann die neue Installation auf einer höheren Ui-Ebene als die ursprüngliche Installation ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.5 unter Windows Vista, Windows XP, Windows Server 2003 und Windows Server 2008. Informationen zum mindestens erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen. |
Zielplattform | Windows |
Kopfzeile | msi.h |
Bibliothek | Msi.lib |
DLL | Msi.dll |