修补申请

use*_*823 10 c# diff patch

我需要为我的应用程序创建一个修补程序,它真的很小但我需要每天或每周更新它如何xdelta和其他工作?我已经阅读了有关这些但我不太了解 的用户根本不应该被提示

小智 1

好吧,这篇文章在元上被标记为给出的答案,所以我将对此进行权衡。

xdelta 是一个二进制差异程序,它不会为您提供完整的图像,而只会为您提供更改的内容和位置。文本差异的示例将在文本行之前有 + 和 - 符号,表明这些符号已在新版本中添加或删除。

有两种方法可以更新二进制映像:使用您自己的程序替换它或使用某种形式的包管理替换它。例如,Linux 系统使用 rpm 等来推送软件包更新。在 Windows 环境中,如果您不在公司网络上,您的选项将受到所安装内容的限制。如果是,请尝试 WSUS 和 MSI 打包。这会让你的生活更轻松,或者像有人提到的 ClickOnce 一样。

但是,如果您不这样做,则需要记住以下几点:

  • 正如其他人所说,您需要成为管理员才能更新某些文件夹中的任何内容。我强烈鼓励您接受这种行为。
  • 如果用户是管理员,您可以主动检查更新。然后,您可以执行以下两件事之一。您可以下载应用程序的全新版本,并将其写入硬盘上的图像(即文件 - 记住图像已加载到内存中,以便您可以重写自己的程序文件)。然后,您需要告诉用户更新已成功并重新加载程序,因为新图像会有所不同。
  • 或者,如果带宽是一个问题,您可以应用差异。可能不是您的情况,但您需要从客户端程序知道要区分的两个版本,以便更新服务器为您提供正确的补丁。否则,diff 可能不会成功。

无论如何,我认为 xdelta 不会给你带来太多好处。只需替换整个图像即可。

如果根本不提示用户,则进行编辑,只需重新加载应用程序即可。但是,我强烈鼓励通知用户您正在他们的网络上通话,并请求许可/启用手动更新模式,否则像我这样的人会阻止它。