![](/img/trans.png)
[英]Make 2 different application MSI to work as major upgrade with each other
[英]Can't get MSI minor upgrade to work
當我嘗試對我的應用程序應用次要升級時,我啟動安裝程序並(根據我嘗試的設置組合),我得到一個:
我不相信我應該得到這些提示中的任何一個。 我主要期望安裝程序自動應用升級而不提示任何內容。 我想我在Visual Studio安裝項目中正確地做了一切:
我已經嘗試了幾乎所有代碼/標志和技術的組合,但似乎無法應用更新。
關於我還能嘗試什么的任何想法?
要讓它發揮作用我:
正如我在我的問題中指出的那樣,它似乎正在發揮作用。 我可以成功應用升級。 但是,當我運行安裝程序時,仍然會提示我修復/刪除選項。 但是,我猜這是一個不同的問題。
首先要做的事情是 : 您確定沒有在兩個MSI文件中重用包GUID ,或者在部署工作和測試期間的某些時候重新使用包GUID ?
嘗試使用新GUID重建兩個MSI文件,以將它們與任何現有緩存版本“解耦”,然后再次嘗試測試安裝。 更改包裹代碼和產品代碼。 更好的是:在干凈的虛擬機上測試這些新版本,以確保不受過去罪惡影響的正確測試環境。 由於包guid沖突,您的開發人員系統可能在其Windows安裝程序數據庫中有gremlins。 如果是這種情況,軟件包安裝將成為總XFiles - 最奇怪的事情可能發生。
更多詳細信息 :如果兩個MSI文件的包GUID相同,則Windows Installer將根據定義將它們視為同一文件 - 無論它們包含什么。 這可能會導致各種難以清理和調試的奇怪問題。 請注意,即使您忘記更新一次也會發生這種情況,因為安裝MSI會導致它被緩存在C:\\ Windows \\ Installer文件夾中的系統上(此文件夾被隱藏並受到保護)。 如果啟動了具有相同GUID的MSI文件,則將重新使用此緩存副本(至少對於早期版本的Windows Installer來說是這種情況 - 現在可能會對此進行修復)。
如果您使用的是Installshield,則應啟用“始終生成打包GUID”功能以確保永遠不會發生這種情況。 包GUID應始終針對每個構建進行更改 - 沒有任何理由保持硬編碼。 我相信WIX會自動生成包GUID,除非你專門覆蓋它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.