Application Updater Block v2.0 更新检查过程分析

更新判断方式与v1.0的区别
v2.0不再使用版本号来区分更新是否可用,而是采用manifest ID+application ID来判断,对于每一个新的更新,即使是同一个应用程序,必须更新manifest ID。同时要注意,一个应用程序的application ID一旦确定就不能随意改变,因为客户端的配置文件中,已经写入了确定了的application ID,不能改变,当然你可以尝试通过更新客户端的配置文件来改变application ID。

更新检查 调用过程
1. 客户端新建一个ApplicationUpdaterManager实例,ApplicationUpdaterManager将负责整个升级过程控制
2. 调用ApplicationUpdaterManager的CheckForUpdates()方法
3. CheckForUpdates()内部调用CheckForUpdates(Uri Location)方法,其中的Location是服务器端Manifest文件的url路径,可通过UpdaterConfigurationView.DefaultManifestUriLocation获得。
4. CheckForUpdates(Uri Location)中有两个处理过程,一个是处理上一次更新过程中未完成的更新,一个是从服务器段下载最新的manifest文件,并判断是否要进行更新。
5. CheckForPendingUpdates()是专门用来处理未完成的更新的,该函数通过调用RegistryManager.Tasks属性获得未完成的任务列表。让我们来看看Tasks属性的实现
private  Hashtable Tasks
{
    
get
    
{
        
if ( !loaded )
        
{
            Load();
            loaded 
= true;
        }

        
return registry;
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值