项目中用到了ClickOnce部署和升级项目,刚开始在测试的过程中发现,ClickOnce并不能如MS文档中所说的进行增量更新,而是在更新的时候下载了全部文件(查看安装目录的文件修改时间)。
在网上查阅了很多资料,都没有这方面的解答,而MSDN等微软的技术网站都说可以增量下载。
经过使用mage.exe命令行工具 进行一系列的案例测试,还是无果。走投无路之后发现,是不是一开始对全量下载的判定有问题呢,也就是说,是不是安装目录的文件修改时间更新了,并不能说明执行了全量下载呢?
产生这个想法后马上使用 流量监控工具进行测试,发现在第二次更新的时候果然是只下载了有改动的文件!(更新对话框可能还是显示所有文件的大小)。也就是说没有更新的文件是从上一个版本copy过来的,copy的过程中所有的文件修改时间改为了升级的时间(这也是为什么一开始认为clickonce是全量更新的原因)。
下面是mage.exe执行的测试命令:
mage -n Application -ToFile bin1000\a.exe.manifest -Name "a" -v 1.0.0.0 -fd bin1000 -cf TestForm_TemporaryKey.pfx
mage -n Deployment -ToFile a.application -Name "a" -v 1.0.0.0 -appm bin1000\a.exe.manifest -i true -cf TestForm_TemporaryKey.pfx -pu http://localhost/a.application
mage -n Application -ToFile bin1001\a.exe.manifest -Name "a" -v 1.0.0.1 -fd bin1001 -cf TestForm_TemporaryKey.pfx
mage -u a.application -v 1.0.0.1 -appm bin1001\a.exe.manifest -cf TestForm_TemporaryKey.pfx
流量监控工具使用360自带的就可以,注意dfsvc.exe这个进程,是clickonce用来更新和下载程序的。可以在每次更新下载完毕后结束进程,下次会被重新启动,这样监控流量比较方便。
分享到:
相关推荐
解决ClickOnce签名过期问题用到的工具,与博文匹配,不喜勿下!
部署 ClickOnce 应用程序 winform
程序员可以通过程序动态定义clickonce安装路径
C# 修改续订过期的ClickOnce证书
ClickOnce相关技术文档即为clickonce的API,您可以通过它了解 ClickOnce的相关技术和ClickOnce的部署过程。
clickonce发布指南,详细说明了如何使用clickonce发布windows应用程序。图解
使用VS2005的 ClickOnce 技术实现按需下载组件 默认情况下,首次运行 ClickOnce 应用程序时,会下载该应用程序中包含的所有程序集。但是一些特殊的场景我们可能不希望它这么干,而是希望按照一定规测或者需要用到...
关键字:ClickOnce,添加外部文件,Visual Studio 2008 SP1,.NET Framework 3.5,SmartClient 环境:XP SP3,Visual Studio 2008 SP1,.NET Framework 3.5 本人之前在鼓捣SmartClient相关的东东,需要借助...
简述ClickOnce证书的制作过程,做自己的签名证书。
Visual Studio 对通过 ClickOnce 部署的应用程序的发布和更新提供完全支持。ClickOnce 部署可用于使用 Visual Basic、Visual C# 和 Visual J# 创建的项目,但不能用于使用 Visual C++ 创建的项目。
C#语言的clickonce创建桌面快捷图标方法,内容详细,实用通过,给大家共享。只有第一次安装后运行才生成图标,以后不生成,用户删除后不再生成,更新后也更新一次桌面图标。
ClickOnce图解发布过程,结合了图形与文字并存的方式
C# clickonce示例,该实例包含了publish.htm,可以build出一个package放在IIS下面以供下载
ClickOnce实现在线更新,使用VS2008开发winform
项目中使用的clickonce的总结 1,在线方式发布 2,离线方式发布 3,签名的制作 4,桌面快捷方式的设置 5,启动菜单的制作方法 6,代码和文档
ClickOnce证书期限修改工具,请大家好好享用
公司打包的知识,clickonce,打包步骤
VS2008-WPF(Cider)+clickOnce+讲师-田京!!!!!!!!!!!!!!!!
公司打包的知识,clickonce相关技术,带参数
ClickOnce 打包 如何处理 CefSharp ChromiumWebBrowser 的问题,包括解决方案文档和Demo实例代码