我的activex控件的cab安装包,经过签名后,放在WEB服务器上,如果是初次使用,可以正确的安装到用户的系统上,
我对控件的版本号进行提升后,相应的INF文件内的版本号也做了相应的提升,重新打包成CAB文件,然后签名,放到服务器上,但打开相应网页,并没有自动更新到新的版本,我在internet的工具-管理加载项下,找到我的控件,然后点更新,是能更新成功的。
网页的脚本也是有#version=....的,也做了相应的提升。
internet设置中的禁止下载未签名的控件选项也改为提示了。
为什么我的控件自动更新不成功呢?而只是在管理加载项下手动点更新才行
在网页查找这个问题,有网友说要修改CAB的版本号,但打包这个我是在命令行启动,不知道怎么会设置CAB包的版本。
请高手指教!

解决方案 »

  1.   

    一般控件下载后,
    会生成记录文件,
    存放在:C:\WINDOWS\Downloaded Program Files
    其中有你的控件的版本信息等,
    当在网页中加载它时,它会比对你的网页脚本中的#version=....,
    如果发现它比本地目录的新,会重新下载,与INF中的版本应该无关.
    然后系统会下载你的控件,再次比对控件的版本,
    要求它与你的脚本中出现的版本#version=....一致,
    你自己找找哪个环节出问题了吧
      

  2.   

    谢谢大家,问题终于解决了,
    原来在网页脚本中的#version=,,,在做怪,
    原来我用的是1,0,0,2 升版本号后 是1,0,0,3
    这样是无效的,可能它只会判断前两个,就是MAJOR 和MINOR
    我把它换为1,2,0,0和1,3,0,0就可以自动更新了。
      

  3.   

    恩!网页脚本中的#version=,,,一定要和控件的版本号一致,且比上次版本号高就可以了
      

  4.   

    网页脚本中的#version=,,,一定要和控件的版本号一致
      

  5.   

    谢谢!
    不过诡异的是,这次我又详细测试了下,
    只升第四节的版本号是可以的,上次为什么不可以呢?
    可能是我其它地方有误吧。楼上几位说的很重要,如果脚本中的#version=,,,和控件的版本号不一致,
    你每次打开网页可能都会下载CAB包提示你安装,原因可能是INF文件在判断后并没有真正安装,
      

  6.   

    不过诡异的是,这次我又详细测试了下,
    只升第四节的版本号是可以的,上次为什么不可以呢?
    可能是我其它地方有误吧。
    ------------------------------------------------
    只要比上次版本号高就可以,且INF,#version=,,,一定要和OCX的版本号一致
    现在可以了吧~~
      

  7.   

    codebase处指定的版本号比原来的高就可以了
      

  8.   

    codebase处的版本,控件文件的版本,INF文件中的版本,都要提高,否则会有问题.