我在Visual Studio 2010中創建了一個WPF應用程序。我還創建了安裝項目來安裝此應用程序。安裝項目處理先決條件,複製二進制文件,填充開始菜單和桌面,設置文件關聯和圖標等。所有這一切都很好。Visual Studio 2010安裝項目 - 對現有安裝的次要更新
我現在正在開發一個更新程序,它應該將我的應用程序更新到更高版本(錯誤修復程序等)。我正在使用NetSparkle框架來處理更新過程。我有過程本身的工作,但我有問題創建一個更新MSI文件,做我想做的。
這是我曾嘗試:
- 我創建了第二個安裝項目,以建設「更新」 MSI文件的目的。它所做的只是複製新的二進制文件。它有一個屏幕UI,顯然不處理的先決條件,快捷方式,圖標,文件關聯等
- 我已經確定了
UpgradeCode
是一樣的我的主要安裝程序安裝項目的的UpgradeCode - 我已經設置了
Version
要比我的主要安裝程序更高安裝項目
因此,我構建了更新程序MSI,並將其插入到NetSparkle更新過程中。它似乎工作,但它正在創建一個第二條目爲我的應用程序在控制面板程序和功能(具有較高的版本號),它似乎也重置了我的應用程序的配置設置 - 我需要那些保持完好!正如我所說,這只是一個小錯誤修復更新,而不是一個全新的替代品。
我在做什麼錯?有人能指出我正確的方向嗎?我甚至需要MSI來更新文件嗎? (我應該使用補丁嗎?如果是這樣,我該如何去創建一個?)
更新:我一直在玩RemovePreviousVersions
。如果我將它設置爲false
,結果如上所述。如果我將它設置爲true
,則程序和功能中的重複條目消失,但它也會刪除所有不需要的文件關聯,圖標,開始菜單和桌面鏈接等。它也打破了NetSparkle流程,因爲該應用不會自動重新啓動。真的,我想要做的就是覆蓋安裝文件,就是這樣,無論用戶是升級一個小版本還是X小版本。
很酷,我一定會檢查一下。 – Ross