NSIS补丁(多个补丁合并为一个文件)

3
我能使用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个回答

1

VPatch是一个开源项目,您可以在他们的论坛上提问。编写程序的人表示您可以向他提问。从他的页面链接到电子邮件表单:http://www.tibed.net/vpatch/


1

我认为你有两个选择:

  • 每次有新版本时,你可以为每个旧版本生成一个到新版本的补丁
  • 从New-1到New进行GENPAT(将其附加到已经有New-2到New-1等的补丁文件中),并在安装时不断调用vpatch::vpatchfile,直到返回值为“OK,新版本已安装”,而不仅仅是“OK”(这样你就不需要所有旧版本的存档了,但如果用户跳过了许多更新,则更新时间会更长)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接