ClickOnce增量更新的问题

项目中用到了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用来更新和下载程序的。可以在每次更新下载完毕后结束进程,下次会被重新启动,这样监控流量比较方便。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值