次の方法で共有


パッチ アンインストール カスタム アクション

カスタム アクションのパッチ アンインストール オプションを使用すると、パッチのアンインストール時にのみインストーラーでカスタム アクションを実行するように指定できます。

Windows インストーラー 4.5 以降:カスタム アクションのパッチ アンインストール オプションを使用して、パッチのアンインストール時にのみインストーラーでカスタム アクションを実行するように指定できます。

**Windows インストーラー 4.0 以前: **

カスタム アクションのパッチ アンインストール オプションは使用できません。 パッチのアンインストール時にパッチ パッケージ内のカスタム アクションを実行するようにマークする方法はありません。これは、インストーラーがアンインストール対象のパッチ パッケージを適用しないためです。

特定のパッチのアンインストール時にカスタム アクションを実行するには、そのカスタム アクションを元のアプリケーションに含めるか、常に適用される製品のパッチに含める必要があります。

開発者は MsiPatchRemovalList プロパティを使用して、パッチの削除時にカスタム アクションを実行する Windows インストーラー パッケージまたはパッチを作成できます。 カスタム アクションは、元のインストール パッケージ、パッケージに既に適用されているパッチ、またはアンインストール可能なパッチではないパッチに作成できます。 カスタム アクションには、シーケンス テーブルの MsiPatchRemovalList プロパティで条件を付けることができます。 アクションの条件付けについて詳しくは、「条件付きステートメントでのプロパティの使用」を参照してください。

カスタム アクションでは、MsiPatchRemovalList プロパティの値から削除対象のパッチの GUID を取得できます。 カスタム アクションでは、Patch オブジェクトMsiGetPatchInfoEx プロパティまたは PatchProperty プロパティを呼び出すことによって、パッチのインストール状態が適用済みか、不使用か、置き換え済みかを判断できます。

カスタム アクションにパッチからの特別なメタデータが必要な場合、パッチの適用時にレジストリまたはファイルの場所にメタデータを書き込むカスタム アクションをパッチに含める必要があります。 元のアプリケーションまたは常に適用されるパッチのカスタム アクションでは、パッチの変更を削除するために必要な情報を取得できます。

正しく元に戻すことが難しい変更を行うパッチは、アンインストール可能なパッチとしてマークしないでください。

パッチのシーケンス処理

パッチの削除

アンインストール可能なパッチ

パッチのアンインストール

MSIPATCHREMOVE

MsiEnumapplicationsEx

MsiGetPatchInfoEx

MsiRemovePatches