RemoveExistingProducts アクション
RemoveExistingProducts アクションは、Upgrade テーブルの ActionProperty 列に記載されている製品コードを確認し、同時インストールを呼び出すことによって順番に製品を削除します。 同時インストールごとに、インストーラーは、ProductCode プロパティを製品コードに設定し、REMOVE プロパティを Upgrade テーブルの Remove フィールドの値に設定します。 Remove フィールドが空白である場合、その値は既定値の ALL になり、インストーラーは製品全体を削除します。
インストーラーは、初めて製品をインストールするときにのみ RemoveExistingProducts アクションを実行します。 メンテナンス インストールまたはアンインストール中にはアクションを実行しません。
シーケンスの制限
RemoveExistingProducts アクションは、アクション シーケンス内で次のいずれかの位置にスケジュールする必要があります。
- InstallValidate アクションと InstallInitialize アクションの間。 この場合、インストーラーは、新しいアプリケーションをインストールする前に古いアプリケーションを完全に削除します。 再利用されるすべてのファイルを再コピーする必要があるため、これは、アクションの非効率的な配置です。
- InstallInitialize アクションの後で、実行スクリプトを生成するすべてのアクションの前。
- InstallExecute アクション (または InstallExecuteAgain アクション) と InstallFinalize アクションの間。 通常、最後の 3 つのアクションは、InstallExecute、RemoveExistingProducts、InstallFinalize の順に連続してスケジュールされます。 この場合は、更新されるファイルが最初にインストールされ、古いファイルが次に削除されます。 ただし、古いアプリケーションの削除に失敗した場合、インストーラーは、古いアプリケーションの削除と新しいアプリケーションのインストールの両方をロールバックします。
- InstallFinalize アクションの後。 これは、アクションの最も効率的な配置です。 この場合、インストーラーは、古いアプリケーションを削除する前にファイルを更新します。 更新されるファイルのみがインストール中にインストールされます。 古いアプリケーションの削除に失敗した場合、インストーラーは、古いアプリケーションのアンインストールのみをロールバックします。
ActionData のメッセージ
フィールド | アクション データの説明 |
---|---|
[1] | 製品を削除しました。 |
解説
Windows インストーラーは、このアクションを実行するときに UPGRADINGPRODUCTCODE プロパティを設定します。