NSIS修补(一个文件中有多个补丁)

时间:2009-05-20 05:49:50

标签: patch nsis

我可以使用NSIS的Vpatch从一个版本生成补丁文件到另一个版本。 假设我有mydll.dll版本1,并且我有一个补丁来将其更新到版本2.然后我再次使用新版本,因此我生成另一个补丁以将其更新为版本3.

令我烦恼的是,如果用户取消更新到版本2等等,该怎么办?然后我的最新版本就是版本20.用户决定更新到版本20.有没有办法生成一个类似累积的补丁?用户可以从任何旧版本的版本跳转到最新版本(即版本3到版本20)而不通过其间的版本?

我在vpatch的文档中读过这一行---> “如果您希望能够将版本1和版本2升级到版本3,则可以在一个文件中放置1> 3和2> 3补丁。”但那我怎么样?

如果我读了30个版本怎么办?这是否意味着我必须创建一个补丁,其参数是旧文件(版本1-29)和新文件(版本20)?

2 个答案:

答案 0 :(得分:1)

VPatch本身就是一个开源项目,所以你可以在他们的论坛中提问。这家伙写道,你可以问他问题。从他的页面到电子邮件表单有一个链接:http://www.tibed.net/vpatch/

答案 1 :(得分:1)

我说你有两个选择:

  • 每次有新版本时,都会为每个以前的版本生成新版本的补丁
  • GENPAT,从New-1到New(附加到已经有New-2到New-1的补丁文件等),并在安装时保持调用vpatch :: vpatchfile,直到返回值为“OK,新版本已安装“而不仅仅是”确定“(您不需要为此保存所有旧版本的存档,但如果用户跳过许多更新,则需要更长时间才能应用更新)