zoukankan      html  css  js  c++  java
  • ClickOnce的更新策略

    最近公司用ClickOnce技术发布的一个产品,在客户那边出现了些奇怪的现象。客户那边的具体的情况是这样的:例如是1.0.0.6版本号的程序在服务器A上发布,同一版本号1.0.0.6也同时发布在服务器B上。问题来了,假如客户机器是干净的,也即是这台机器是从来没有运行过这个程序的,如果客户先登录服务器A,那么客户机就会下载1.0.0.6版本的程序回来在本机运行,这是正确的。此时客户把程序关了,然后去到服务器B上运行,那么客户机还会不会再从服务器B上下载1.0.0.6这个版本呢?那么ClickOnce技术的具体更新策略是怎样的呢?

    我找啊找啊,发现ClickOnce技术这个东西只有在msdn有些更新策略,但是根本不是我想要的那些,所以我就自己来试观察它的更新策略。

    如下是我总结出来的更新策略:

    1、测试条件:在同一服务器上发布两个同一版本1.0.0.6的程序,地址分别是:http://www.kk.com/kay/A.html ,http://www.kk.com/kay/B.html ,虽然版本号不变,但是B版本的Code是在A版本上做了些更改的。

    测试结果:你先从哪条link登录上去,那么它就下载那条link的执行,如果你再登录第二条link的,虽然它下载了,但是安装是会失败的。具体原因是不知道。

    例如:你先用http://www.kk.com/kay/A.html登录,那么它就下载这个来安装执行。此时你把http://www.kk.com/kay/A.html的这个程序关了,再登陆http://www.kk.com/kay/B.html    那么它是不会安装http://www.kk.com/kay/B.html这个的

    2、测试条件:先在服务器上发布1.0.0.6版本的A,然后用http://www.kk.com/kay/A.html来下载运行。此时改变A的code,但是版本号还是1.0.0.6,然后把原先在服务器上的删掉,再把改变了code但是版本号没有改变的发布上去,link还是http://www.kk.com/kay/A.html,然后在客户机还是用这条link去登录

    测试结果:发现在客户机上运行的还是旧的code,所以ClockOnce的更新是只看版本号的,如果你版本号没有变,即使你改了Code,它也是不会自动更新的。

    3、如果是同一版本的发布在两台不同ip地址的服务器的话,那么它还是会下载的,在客户机上各保存一份跟对应服务器上对应的副本。

  • 相关阅读:
    01时间处理--02 指定日期--转成星期
    中文乱码处理
    判断js变量是否定义,
    安卓请求服务器js文件下载到本地,版本号不一致就下载
    a标签href跳转---传值---禁止单引号
    修改mysql配置文件,group_concat设置为最大.默认1024个字节字符串.多条json会超出
    GROUP_CONCAT()多条数据.拼接字符串 最大长度1024
    使用变量判断之前.务必先定义
    多种序列化器-指定类对象
    JsonHelper
  • 原文地址:https://www.cnblogs.com/jiekk/p/1969751.html
Copyright © 2011-2022 走看看