2009-05-20 99 views
2

我可以使用NSIS的Vpatch從一個版本生成補丁文件到另一個版本。 假設我有mydll.dll版本1,並且我有一個補丁程序將其更新到版本2.然後我再次有一個新版本,因此我生成另一個補丁程序將其更新到版本3.NSIS補丁(一個文件中有多個補丁)

什麼讓我困擾儘管如此,如果用戶取消更新到版本2等等。然後,我的最新版本讓我們說是版本20.用戶決定更新到版本20.是否有一種方法來生成一個類似於累積性的補丁?而用戶可以從任何舊版本跳轉到最新版本(即版本3到版本20)而無需通過兩者之間的版本?

我已經在vpatch的文檔中讀過這行 - >「如果你想升級版本1和版本2到版本3,你可以在一個文件中添加1> 3和2> 3補丁。 「但我怎麼樣?

如果我讀了30個版本,該怎麼辦?這是否意味着我必須創建一個補丁,其參數是舊文件(版本1-29)和新文件(版本20)?

回答

1

我說你有兩個選擇:

  • 你有一個新版本,你GENPAT爲每一個以前的版本補丁應用到新的每次版本
  • GENPAT只是從New-1到New(附加到已經具有New-2到New-1等的補丁文件),並在安裝時繼續調用vpatch :: vpatchfile,直到返回值爲「OK,new版本已安裝「,而不僅僅是」確定「(您不需要爲此存檔所有舊版本,但如果用戶跳過許多更新,則需要更長的時間才能應用更新)
1

VPatch本身就是一個開源項目,所以你可以在他們的論壇上提問。這傢伙寫道,你可以問他問題。有一個從他的網頁,以電子郵件形式的鏈接:http://www.tibed.net/vpatch/