自动打补丁程序(高效自动更新工具)

9
我希望有一个自动更新程序,可以检测到修改过的文件(通过比较客户端和服务器上的文件),并只下载修改过的文件。我还希望它可以实时地向我报告其状态(以在进度条或其他东西上显示)。
场景是有大约一千个客户端在同一个网络中使用同一个应用程序。如果有新版本的应用程序可用,它们都必须获取新版本。但是,带宽有限,因此每次给他们一个完整的安装程序不是很有效。(这是我们目前所做的)
我搜索了一下,发现了IcePatch2。它正是我想要的:当运行补丁程序时从服务器获取最新的文件。但问题在于客户端是用C#编写的,我无法在我的应用程序内部使用IcePatch2。(我必须将其作为单独的进程运行,或编写COM或其他内容与IcePatch2Client交互)
到目前为止,我找到的最佳解决方案是获取.NET应用程序更新组件并对其进行自定义以适应我的需求。但我更喜欢一种无需维护另一个应用程序的解决方案。
有什么想法吗?

完全在应用程序内运行更新程序的效果不佳。 Windows锁定正在运行的程序的文件,因此无法替换它们。 因此,您需要一个外部补丁程序或启动器,它几乎永远不会被打补丁。 - CodesInChaos
2个回答

3
我们使用wyBuild。它生成二进制增量补丁——比文件级别更好。它还具有客户端自动更新组件:wyUpdate

2
我们使用AppLifeUpdate。您可以创建只包含更改文件的更新包。我不确定它是否支持二进制增量。它是一个.NET组件,可以选择使用安装的服务进行提升的安装程序更新(仅在影响系统上所有用户的更改时才真正需要)。

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