The MsiBeginTransaction function starts transaction processing of a multiple-package installation and returns an identifier for the transaction. The MsiEndTransaction function ends the transaction.
Windows Installer 4.0 and earlier: Not supported. This function is available beginning with Windows Installer 4.5.
Syntax
C++UINT WINAPI MsiBeginTransaction(
__in LPCWSTR szTransactionName,
__in DWORD dwTransactionAttributes,
__out MSIHANDLE *hTransactionID,
__out HANDLE *phChangeOfOwnerEvent
);
Parameters
- szTransactionName [in]
-
Name of the multiple-package installation.
- dwTransactionAttributes [in]
-
Attributes of the multiple-package installation.
Value Meaning - 0
When 0 or no value is set it Windows Installer closes the UI from the previous installation.
- MSITRANSACTION_CHAIN_EMBEDDEDUI
Set this attribute to request that the Windows Installer not shutdown the embedded UI until the transaction is complete.
- hTransactionID [out]
-
Transaction ID is a MSIHANDLE value that identifies the transaction. Only one process can own a transaction at a time.
- phChangeOfOwnerEvent [out]
-
This parameter returns a handle to an event that is set when the MsiJoinTransaction function changes the owner of the transaction to a new owner. The current owner can use this to determine when ownership of the transaction has changed. Leaving a transaction without an owner will roll back the transaction.
Return Value
The MsiBeginTransaction function returns the following values.
Value | Meaning |
---|---|
|
The installation service could not be accessed. This function requires the Windows Installer service. |
|
Only one transaction can be open on a system at a time. The function returns this error if called while another transaction is running. |
|
An invalid parameter is passed to the function. |
|
Rollback Installations have been disabled by the DISABLEROLLBACK property or DisableRollback policy. |
Requirements
Version | Windows Installer 5.0 on Windows Server 2008 R2 or Windows 7. Windows Installer 4.5 on Windows Vista, Windows XP, Windows Server 2003, and Windows Server 2008. See the Windows Installer Run-Time Requirements for information about the minimum Windows service pack that is required by a Windows Installer version. |
---|---|
Header | Msi.h |
Library | Msi.lib |
DLL | Msi.dll |
Unicode and ANSI names | MsiBeginTransactionW (Unicode) and MsiBeginTransactionA (ANSI) |
See Also
Build date: 8/13/2009
© 2009 Microsoft Corporation. All rights reserved.