カスタム アクションのコミット
コミット カスタム アクションは、インストール スクリプトが正常に完了すると実行されます。 InstallFinalize アクション 成功した場合、インストーラーは既存の Commit Custom アクションを実行します。 この場合、インストーラーが設定するモード パラメーターはMSIRUNMODE_COMMITのみです。 実行モードのパラメーターの説明については、「MsiGetMode」を参照してください。
カスタム アクションのコミットは、CustomAction テーブルの Type フィールドにオプション フラグを追加することで指定できます。 コミット カスタム アクションを指定するオプション フラグについては、「カスタム アクション In-Script 実行オプションの を する」を参照してください。
コミット カスタム アクションは、ロールバック カスタム アクション の補完であり、ロールバック カスタム アクションと共に使用して、システムに直接変更を加えるカスタム アクションを元に戻すことができます。
ロールバック カスタム アクションでは、カスタム アクションのコミットによって行われたすべての変更を削除できない場合があることに注意してください。 インストーラーはロールバックとコミットの両方のカスタム アクションをロールバック スクリプトに書き込みますが、コミット カスタム アクションは、インストーラーがインストール スクリプトを正常に処理した後にのみ実行されます。 コミット カスタム アクションは、ロールバック スクリプトで実行する最初のアクションです。 コミット カスタム アクションが失敗した場合、インストーラーはロールバックを開始しますが、ロールバック スクリプトに既に書き込まれている操作のみをロールバックできます。 つまり、コミット カスタム アクションによっては、ロールバックでアクションによって行われた変更を元に戻すことができない場合があります。 カスタム アクションを作成してリターン コードを無視することで、コミット カスタム アクションのエラーを無視できます。
ロールバックが無効になっている場合、カスタム アクションのロールバックとコミットは実行されません。 パッケージ作成者が適切なインストールのためにこれらの種類のカスタム アクションを必要とする場合は、ロールバックを無効にしたときにインストールを続行できない状態で、RollbackDisabled プロパティを使用する必要があります。