我已經創建了一個安裝包(通過WIX),它利用實例轉換來允許自己在一臺機器上多次安裝。沒有給予太多的思考,我還增加了對重大升級的支持(就像我之前做過很多次那樣)。Windows Installer實例轉換如何與升級交互?
今天,第一次安裝了該產品的新版本,並且行爲與我預期的並不完全相同:儘管安裝是針對新實例的,但似乎所有其他實例一箇舊版本)被卸載。
事後看來,這並不令人感到意外,因爲所有實例共享相同的升級代碼。根據FindRelatedProducts操作的文檔,該文件和版本是確定應將哪些產品作爲刪除目標的唯一標準。
所以問題是:我該如何編寫這個安裝包,以便在安裝新版本時,只升級目標實例,而其他實例保持獨立?
我懷疑答案可能是我應該完全刪除「主要升級」功能,但我已經看到幾個使用它的多實例安裝示例,所以我不確定。此外,我發現我可能沒有正確處理產品代碼,因爲它應該用版本號更新,但實例轉換使用固定的產品代碼。不知何故,我認爲這不是問題,但我想我應該提及它以防萬一。
非常感謝您的幫助或見解。
感謝您的迴應,克里斯。唉,從閱讀這些帖子來看,我仍不清楚應該如何處理個案。你是否同意,如果我需要在不同版本中允許多個實例,那麼在包中創建「主要升級」不會滿足我的需求? – 2011-03-07 18:18:55
您可以進行重大升級,但您必須記住每個實例都有自己的UpgradeCode系列,您需要能夠選擇要在哪個實例上執行升級。最後,您可以將X個實例安裝到具有不同版本和不同配置數據的不同目錄中。 – 2011-03-07 20:10:07
嗨克里斯,你是什麼意思「每個實例都有自己的UpgradeCode系列」?不是每個實例具有相同的UpgradeCode,而是不同的* ProductCode *? – ayang 2011-03-17 20:55:57