Windows 如何从每次ClickOnce更新中减少供应商DLL的大小?

Windows 如何从每次ClickOnce更新中减少供应商DLL的大小?,windows,dll,clickonce,Windows,Dll,Clickonce,有没有办法减少每次ClickOnce更新的大小? 每个更新都包括所有定制的verdors DLL(如Telerik、NHibernate等),是否有办法只包括第一次初始安装,而不包括在以后的更新中 我只希望ClickOnce更新文件中有最新更新的应用程序DLL和.exe,以便客户端可以通过网络快速下载更新 请分享您在ClickOnce应用程序中使用的建议或做法。 谢谢。如果DLL没有更改,则ClickOnce不会重新下载DLL,它们将从客户端上以前的安装中复制。在@Darrel Miller的答

有没有办法减少每次ClickOnce更新的大小? 每个更新都包括所有定制的verdors DLL(如Telerik、NHibernate等),是否有办法只包括第一次初始安装,而不包括在以后的更新中

我只希望ClickOnce更新文件中有最新更新的应用程序DLL和.exe,以便客户端可以通过网络快速下载更新

请分享您在ClickOnce应用程序中使用的建议或做法。
谢谢。

如果DLL没有更改,则ClickOnce不会重新下载DLL,它们将从客户端上以前的安装中复制。

在@Darrel Miller的答案上展开。ClickOnce仅下载已更改的文件。它为每个文件生成一个哈希。如果文件发生任何变化(文件大小、修改日期等),将生成新的哈希。当用户在更新后启动应用程序时,会将其本地文件哈希与服务器上的哈希进行比较,以确定要下载的内容


一个警告是“安装进度”对话框。它始终显示应用程序的整个大小,即使只下载了一个文件。这只是对话框中的一个bug,所以不必担心。您可以使用以下工具验证它是否只下载所需的文件。

下载这些ClickOnce文件时,还需要考虑HTTP级别的压缩。IIS和clickOnce启动进程都支持这些文件的运行时压缩,只需在IIS中进行设置即可。