MsiBeginTransaction Function

Windows Installer

MsiBeginTransaction Function

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
ERROR_INSTALL_SERVICE_FAILURE

The installation service could not be accessed. This function requires the Windows Installer service.

ERROR_INSTALL_ALREADY_RUNNING

Only one transaction can be open on a system at a time. The function returns this error if called while another transaction is running.

ERROR_INVALID_PARAMETER

An invalid parameter is passed to the function.

ERROR_ROLLBACK_DISABLED

Rollback Installations have been disabled by the DISABLEROLLBACK property or DisableRollback policy.

 

Requirements

VersionWindows 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.
HeaderMsi.h
LibraryMsi.lib
DLLMsi.dll
Unicode and ANSI namesMsiBeginTransactionW (Unicode) and MsiBeginTransactionA (ANSI)

See Also

Multiple Package Installations

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.