RemoveExistingProducts 動作
RemoveExistingProducts 巨集指令會流覽 Upgrade 數據表的 ActionProperty 數據行中列出的產品代碼, 並叫用並行安裝來依序移除產品。 針對每個並行安裝,安裝程式會將 ProductCode 屬性設定為產品代碼,並將 remove REMOVE 屬性設定為 Upgrade 數據表的 [移除] 字段中的值。 如果 [移除] 字段是空白的,其值會預設為ALL,而安裝程式會移除整個產品。
安裝程式只會在第一次安裝產品時執行 RemoveExistingProducts 巨集指令。 它不會在 維護安裝 或卸載期間執行動作。
時序限制
RemoveExistingProducts 動作必須在下列其中一個位置的動作順序中排程。
- InstallValidate 巨集指令 與 InstallInitialize 巨集指令之間。 在此情況下,安裝程式會在安裝新應用程式之前,完全移除舊的應用程式。 這是動作沒有效率的位置,因為所有重複使用的檔案都必須重新編目。
- InstallInitialize 巨集指令之後,,以及產生執行腳本的任何動作之前。
- 在 InstallExecute 巨集指令之間,或 InstallExecuteAgain 巨集指令,以及 InstallFinalize 巨集指令。 一般而言,最後三個動作會排程在彼此之後:InstallExecute、RemoveExistingProducts 和 InstallFinalize。 在此情況下,會先安裝更新的檔案,然後移除舊檔案。 不過,如果移除舊應用程式失敗,則安裝程式會復原移除舊應用程式和新應用程式的安裝。
- InstallFinalize 動作之後,。 這是動作最有效率的位置。 在此情況下,安裝程式會在移除舊應用程式之前更新檔案。 安裝期間只會安裝更新的檔案。 如果移除舊應用程式失敗,則安裝程式只會回復舊應用程式的卸載。
ActionData 訊息
田 | 動作數據的描述 |
---|---|
[1] | 已移除產品。 |
言論
Windows Installer 會在執行此動作時,設定 UPGRADEPRODUCTCODE 屬性。