2015-11-18 121 views
0

我有一個Visual Studio 2010項目A和一個安裝項目SetupProject。Visual Studio安裝項目更新或修補某些dll文件

我想通過更新幾個dll,即a.dll(A的主輸出)和b.dll(A依賴的一些其他dll)來修補/升級一臺機器上的安裝。

繼使用Orcamsimsp這個patching指南,我可以創造我安裝一個補丁解決方案。

問題是msimsp需要與較新的安裝程序進行比較的目標,這意味着我不得不說明「這是從1.0.1到1.0.2的補丁」,並且此補丁程序要求當前安裝的版本爲1.0。 1。我無法使用它來修補1.0.0安裝。

換句話說,補丁必須依次應用,一個接一個。

我的問題是:

  1. 如何使用Patch_101_To_102任何版本1.0.x升級到1.0.2安裝,而不需要經過1.0.1補丁?

  2. 除了這個補丁解決方案之外,您還會提出另一個解決方案嗎?這個解決方案的問題是它計算兩個版本之間的差異,所以我認爲這就是爲什麼它需要按順序應用補丁。這將是巨大的,有一個解決方案說「只覆蓋這些特定的DLL」

回答

0

嚴格地說視覺Stusio suports只有RemovePreviousVersions升級,所以大多數人在你的位置,也可以選擇其他的工具,有更多的支持修補。

無論如何,你爲什麼要爲1.0.1創建一個補丁到1.0.2?大多數人建立一個積累的補丁。只要你需要1.0.0版本就可以了,並且針對MSI修復所有的修補程序,這些修補程序會不斷積累修補程序。你增加你的MSI版本,創建一個新的補丁GUID,並在PCP文件中說這個新的補丁替代了ListOfPatchGUIDsToReplace中的以前的補丁。

+0

感謝您的回覆。我需要補丁101_To_102,因爲如果他們已經安裝了補丁100_To_101,我的程序現在在101,並且不會接受補丁100_To_102。 – Kenny

+0

我不認爲你會這樣做,這是我的答案。只需構建1.0.0到1.0.2的補丁,並說它超過了1,0.1補丁。 – PhilDW

相關問題