有没有办法减少每个ClickOnce更新的大小? 每个更新都包含所有自定义verdors dll(例如Telerik,NHibernate等),是否有一种方法只包含第一次初始安装而不包括在以后的更新中?
我只想在ClickOnce更新文件中使用最新更新的应用程序dll和.exe,以便客户端可以非常快速地通过网络下载更新。
请分享您在ClickOnce应用程序中使用的建议或做法。 感谢。
答案 0 :(得分:2)
扩大@Darrel Miller的答案。 ClickOnce 仅下载已更改的文件。它为每个文件生成一个哈希值。如果有关文件的任何更改(文件大小,修改日期等),将生成新的哈希。当用户在更新后启动应用程序时,它会将其本地文件哈希值与服务器上的文件哈希值进行比较,以确定要下载的内容。
一个警告是安装进度对话框。即使正在下载单个文件,它也始终显示应用程序的整个大小。这只是对话框的一个错误,所以不用担心。您可以使用Fiddler等工具验证它是否仅下载所需文件。
答案 1 :(得分:1)
如果DLL没有更改,那么ClickOnce将不会重新下载DLL,它们将从客户端上的先前安装中复制。