我有一个应用程序,我想使用ClickOnce进行部署.以下是我需要的一些文件:
我试图在" 应用程序文件"部分中设置组,如下所示:
第三方
OtherThirdParty
(需要)
我遇到了一个问题,我的程序错误,因为它找不到任何ThirdParty或OtherThirdParty DLL.我检查了ClickOnce安装这些文件的位置,并将其放在一个完全独立的文件夹中,而不是我的可执行文件.
如果不将文件保存在同一位置,创建不同文件组的重点是什么?我想使用它,所以当我的程序更新时,我不必下载所有内容,只需更改.其中一些第三方DLL的大小为10-15 mb,我有多达1000个客户端连接速度慢,因此它为用户提供了大量带宽和大量下载.
我应该如何设置它,以便当MyProgram.exe中的某些内容发生变化时,我可以让客户端下载尽可能少的文件(没有来自ThirdParty和OtherThirdParty组)?
我无法解决您在ClickOnce中使用文件组的问题 - 我从未使用它们.但是,如果您唯一担心的是第三方dll只下载一次并且只下载一次,那么您就不需要打扰它们.
ClickOnce根据哈希值智能地下载文件.如果有关文件的任何内容发生更改(日期,大小,内容等),则其哈希值将发生变化.在新版本发布后启动ClickOnce应用程序时,它会将客户端的所有文件哈希值与服务器上的文件哈希值进行比较,并仅下载已更改的内容.
只要你的第三方dll没有改变,为它们生成的哈希将始终是相同的.所以他们应该只下载一次.
还有一件事,完全忽略ClickOnce下载进度条上的文件大小.它总是显示您的应用程序的完整大小,即使它只下载一个文件.如果您想自己测试,请使用Fiddler监控ClickOnce应用程序启动时会发生什么.
| 归档时间: |
|
| 查看次数: |
3084 次 |
| 最近记录: |