削除中に実行するアクションの調整
パッケージのアンインストール時にのみアクションが呼び出されるようにインストール データベースを作成するには、2 つの方法があります。
- アクションの順序が InstallExecuteSequence テーブルの InstallValidate アクションの後になっている場合、パッケージ作成者は、条件列のアクションに REMOVE="ALL" という条件を指定できます。 インストーラーで InstallValidate アクションを実行する前に、アンインストール中に REMOVE プロパティが ALL に設定されるとは限らないことに注意してください。 この場合、値 ALL を囲む引用符が必要であることを覚えておいてください。
- アクションの順序が CostFinalize アクションと、機能の状態を変更する可能性がある任意のアクション (MigrateFeatureStates アクションなど) の後になっている場合、アクションは特定の機能またはコンポーネントの状態に基づいて条件付けることができます。 「条件付きステートメントの構文」を参照してください。 アプリケーションの完全な削除とは別に発生する可能性がある、特定の機能またはコンポーネントの削除中にアクションを呼び出すには、このオプションを使用します。
条件式で Installed プロパティを使用すると、製品のインストールがコンピューター単位で行われているのか、現在のユーザーのために行われているのかを判断できることに留意してください。 製品が別のユーザーのためにインストールされているかどうかを判別するには、ProductState プロパティを確認します。
前のバージョンの製品は、RemoveExistingProducts アクションによってアップグレード中に削除される可能性があることに注意してください。 この場合、Upgrade テーブルで REMOVE プロパティを ALL に設定することもできます。 アップグレードによって製品が削除されているかどうかを判別するには、UPGRADEINGPRODUCTCODE プロパティを確認します。 インストーラーでは、RemoveExistingProducts によって製品が削除された場合にのみ、このプロパティを設定します。 インストーラーでは、[プログラムの追加と削除] を使用した削除などの通常のアンインストール中にプロパティは設定されません。