软件更新过程

software update process

本文关键字:更新过程 软件      更新时间:2023-10-16

我在qt中做了一个小软件,它只有一个可执行文件和几个dll。我希望有人帮助我了解如何更新 exe 和 dll,而不必替换整个 exe 和 dll,而是编写您对现有 exe 或 dll 所做的更改。

你可以对Courgette感兴趣,这是Google用来向exe文件提供小差异的东西。

其他链接

您可以

发布一个修补程序文件,其中包含用户的现有.exe.dll文件版本与用户现在需要使用的文件之间的差异。

当然,您的构建过程仍会生成完整的二进制文件1,但生成和分发补丁文件意味着您需要部署的更少。

但是,这样做并不常见,因为它对最终用户来说更复杂,并且(除非您的发行版很大)没有非常切实的好处。


注1 为什么这很重要?以下两者之间有什么区别:

  • 旧文件存在
  • 工具链用新信息覆盖文件
  • 新文件现在存在

  • 旧文件存在
  • 工具链仅修改现有文件中更改的字节
  • 新文件现在存在

出于任何实际目的,我看不出第二个有什么好处。

如果在代码中对特定 DLL 或 EXE 进行更改,则必须重新编译并重新生成 DLL 或 EXE,然后覆盖现有 DLL 或 EXE。 我不明白如果不这样做,您怎么可能对现有的 exe 或 DLL 进行更改。