MsiEndTransaction 関数 (msi.h)

MsiEndTransaction 関数は、MsiBeginTransaction 関数によって開かれたトランザクションに属するすべてのインストールをコミットまたはロールバックできます。 この関数は、トランザクションの現在の所有者によって呼び出される必要があります。

Windows インストーラー 4.0 以前: サポートされていません。 この関数は、Windows インストーラー 4.5 以降で使用できます。

構文

UINT MsiEndTransaction(
  [in] DWORD dwTransactionState
);

パラメーター

[in] dwTransactionState

このパラメーターの値は、インストーラーがトランザクションに属するすべてのインストールをコミットまたはロールバックするかどうかを決定します。 値には、次のいずれかを指定できます。

意味
MSITRANSACTIONSTATE_ROLLBACK
ロールバック インストールを実行して、MsiBeginTransaction 関数によって開かれたトランザクションに属するシステムの変更を元に戻します。
MSITRANSACTIONSTATE_COMMIT
トランザクションに属するシステムに対するすべての変更をコミットします。 カスタム アクションのコミット を実行し、Win32 または共通言語ランタイム アセンブリへの変更をシステムにコミットします。 ロールバック スクリプトを削除し、このオプションを使用すると、 ロールバック インストールでトランザクションの変更を元に戻すことができなくなります。

戻り値

MsiEndTransaction 関数は、次の値を返します。

意味
ERROR_ACCESS_DENIED
トランザクションは、現在の所有者のみが終了できます。
ERROR_INSTALL_FAILURE
トランザクションに属するインストールを完了できませんでした。
ERROR_INSTALL_ALREADY_RUNNING
トランザクションに属するインストールはまだ進行中です。
ERROR_ROLLBACK_DISABLED
トランザクションに属するインストールが完了しませんでした。 インストール中に、 DisableRollback アクションによってパッケージの ロールバック インストールが 無効になりました。 インストーラーは、ロールバックが無効になった時点までインストールをロールバックし、関数はこのエラーを返します。

要件

要件
サポートされている最小のクライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Vista、Windows XP、Windows Server 2003、Windows Server 2008 の Windows インストーラー 4.5。 Windows インストーラーのバージョン別に必須となる最小 Windows サービス パックに関する詳細については、Windows インストーラーの実行時の要件に関する記事を参照してください。
対象プラットフォーム Windows
ヘッダー msi.h
Library Msi.lib
[DLL] Msi.dll

こちらもご覧ください

複数のパッケージのインストール