共用方式為


RemoveExistingProducts 動作

RemoveExistingProducts 巨集指令會經歷 Upgrade 資料表 的 ActionProperty 資料行中列出的產品名稱,並叫用並行安裝來依序移除產品。 針對每個並行安裝,安裝程式會將 ProductCode 屬性設定為產品代碼,並將 REMOVE 屬性設定為 Upgrade 資料表之 Remove 欄位中的值。 如果 [移除] 欄位是空白的,其值會預設為 ALL,而安裝程式會移除整個產品。

安裝程式只會在第一次安裝產品時執行 RemoveExistingProducts 動作。 它不會在 維護安裝 或卸載期間執行動作。

序列限制

RemoveExistingProducts 巨集指令必須在下列其中一個位置的動作順序中排程。

  • InstallValidate 巨集指令InstallInitialize 動作之間。 在此情況下,安裝程式會在安裝新應用程式之前完全移除舊的應用程式。 這是動作沒有效率的位置,因為所有重複使用的檔案都必須重新編排。
  • 在 InstallInitialize 動作和產生執行腳本的任何動作之前。
  • 在 InstallExecute 巨集指令InstallExecuteAgain 巨集指令InstallFinalize 動作之間。 一般而言,最後三個動作會排程在另一個動作之後:InstallExecute、RemoveExistingProducts 和 InstallFinalize。 在此情況下,會先安裝更新的檔案,然後移除舊檔案。 不過,如果移除舊應用程式失敗,安裝程式會復原移除舊應用程式和新應用程式的安裝。
  • 在 InstallFinalize 動作之後。 這是動作最有效率的位置。 在此情況下,安裝程式會先更新檔案,再移除舊應用程式。 安裝期間只會安裝要更新的檔案。 如果移除舊應用程式失敗,安裝程式只會回復舊應用程式的卸載。

ActionData 訊息

欄位 動作資料的描述
 [1] 已移除產品。

 

備註

Windows Installer 會在執行此動作時設定 UPGRADEPRODUCTCODE 屬性。