c# - 如何实现 ClickOnce 更新策略以仅更新版本之间更改的文件?

标签 c# .net winforms visual-studio-2013 clickonce

我在 Visual Studio 2013 中使用 ClickOnce 部署我的 Windows 窗体项目,当用户执行新版本更新时,每当服务器上有新版本可用时,都会下载系统的所有文件。

客户端升级系统时需要实现一个配置,只下载版本间修改的文件。

我看到 Choosing a ClickOnce Update Strategy有关描述更新到 ClickOnce 的配置的文章,但在任何地方我都看不到我需要的东西。

任何帮助都非常有用,谢谢。

最佳答案

ClickOnce 自动使用文件修补来避免重复下载应用程序文件。它将当前应用程序的应用程序 list 中指定的文件的哈希签名与新版本 list 中的签名进行比较。 文件修补不适用于标记为数据并存储在数据目录中的文件。不管文件的散列签名如何,这些总是被下载。文件在 ClickOnce 应用程序的应用程序 list 文件中标记为数据文件。

如果您使用 Visual Studio 编译您的应用程序,它会在您重建整个项目时为所有文件生成新的哈希签名。在这种情况下,所有程序集都将下载到客户端,尽管可能只有少数程序集已更改。

将特定文件复制到 ClickOnce 文件夹。使用 MageUI 编辑 .manifest 和 .application 文件。增加这两个文件中的版本号。

关于c# - 如何实现 ClickOnce 更新策略以仅更新版本之间更改的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386025/

相关文章:

C# asp.net 调用 javascript

c# - 我可以专门为 IEnumerable 属性创建一个 HtmlHelper 吗?

c# - 给定一个表示类型的字符串,我需要知道它是值类型还是引用类型

c# - 我知道我做错了验证。请劝我停止 :)

asp.net - 缺少 IIS 10.0 上的 asp.net 功能

c# - 想要在不使用 samAccountName 或 DirectoryServices.AccountManagement 的情况下查找 AD 组的 SID

c# 删除动态创建的对象

c# - 根据数据网格中的行选择打开表单

c# - 如何以编程方式检查 C# 中的 CheckedListBox 中的项目?

c# - 具有有损压缩的 .NET 多页 Tiff