コミット カスタム アクション

コミット カスタム アクションは、インストール スクリプトが正常に完了すると実行されます。 InstallFinalize アクションが成功した場合、インストーラーは既存のカスタム コミット アクションを実行します。 この場合、インストーラーによって設定されるモード パラメーターは MSIRUNMODE_COMMIT のみです。 実行モードパラメーターの詳細については、「MsiGetMode」を参照してください。

コミット カスタム アクションは、 CustomAction テーブルの Type フィールドにオプション フラグを追加することで指定できます。 コミット カスタム アクションを指定するオプション フラグについては、「カスタム アクション スクリプト内実行オプション」を参照してください。

コミット カスタム アクションはロールバック カスタム アクションの補完であり、ロールバック カスタム アクション と共に使用して、システムに直接変更を加えるカスタム アクションを元に戻すことができます。

ロールバック カスタム アクションでは、コミット カスタム アクションによって行われたすべての変更を削除できない場合があることにご注意ください。 インストーラーはロールバックとコミットの両方のカスタム アクションをロールバック スクリプトに書き込みますが、コミット カスタム アクションはインストーラーがインストール スクリプトを正常に処理した後にのみ実行されます。 コミット カスタム アクションは、ロールバック スクリプトで実行する最初のアクションです。 コミット カスタム アクションが失敗した場合、インストーラーはロールバックを開始しますが、ロールバック スクリプトにすでに書き込まれている操作のみをロールバックできます。 つまり、コミット カスタム アクションによっては、ロールバックでアクションによって行われた変更を元に戻すことができない場合があります。 リターン コードを無視するカスタム アクションを作成することで、コミット カスタム アクションのエラーを無視できます。

ロールバックが無効のとき、ロールバックおよびコミット カスタム アクションは実行されません。 パッケージ作成者が適切なインストールのためにこれらの種類のカスタム アクションを必要とする場合は、ロールバックが無効になっているときにインストールを続行できない状態で RollbackDisabled プロパティを使用する必要があります。