zoukankan      html  css  js  c++  java
  • [转]如何让ActiveX OCX控件下载并自动更新

    将控件打包成CAB加数字签名方法实现控件自动更新

    1、所需工具

    ==============

    cabarc.exe ———用于将ocx及所需dll文件打包成cab文件

    cert2spc.exe ——-将cer证书转为spc证书

    chktrust.exe ——-检测签名是否正确

    makecert.exe——制作数字证书

    signcode.exe

    ================

    2、流程

    以上根据需要来确定采用哪些工具,这里我采用了makecert.exe 、cert2spc.exe来制作认证的证书,signcode.来进行数字签名。

    进入DOS状态,进入上述工具所在目录,输入以下命令:

    一、

    makecert -sv test.pvk -n ”CN=test,E=test@test.com,O=test” test.cer

    这个是制作证书, -sv是制作加密的文件,会给证书设定公钥和私钥(-sk则生成没有密钥的证书),CN是公司,E=EMail,O=认证公司的名称,test.cer是生成文件的名称。

    二、然后运行:Cert2SPC  test.cer  test.spc  将cer证书转为spc证书。

    这时制作的证书是没有任何认证公司认证的,通过认证的一年需要大约400美金。

    三、创建INF文件

    [Version]

    signture=”$Title$”

    AdvancedINF=2.5

    [Add.Code]

    Player.ocx   =   Player.ocx

    avcodec.dll   =   avcodec.dll

    avformat.dll   =   avformat.dll

    avutil.dll         =   avutil.dll

    H264Decoder.dll =  H264Decoder.dll

    NetLink.dll    =   NetLink.dll

    [NetLink.dll]

    file-win32-x86=thiscab

    [avcodec.dll]

    file-win32-x86=thiscab

    [avformat.dll]

    file-win32-x86=thiscab

    [avutil.dll]

    file-win32-x86=thiscab

    [H264Decoder.dll]

    file-win32-x86=thiscab

    [Player.ocx]

    file-win32-x86=thiscab

    clsid={CD55E5EC-F555-5555-5555-555A55C55DC5}

    RegisterServer=yes

    FileVersion=1,0,0,2

    其中大扩后中的类容对于dll文件来说若是不需要注册则可以省略。

    四、使用cabarc.exe将ocx及所需dll文件和inf文件打包成CAB文件包

    将所需的ocx和dll及inf文件放在同一个目录下,然后在dos下进入到该目录下,键入以下命令:

    F:\Cabsdk\BIN\CABARC -s 6144 n CamView.CAB Player.ocx avcodec.dll avformat.dll avutil.dll H264Decoder.dll NetLink.dll Player.inf

    注 意这里“F:\Cabsdk\BIN\”是cabarc.exe所在目录,CamView.CAB是要生成的CAB文 件,NetLink.dll  avcodec.dll avformat.dll avutil.dll H264Decoder.dll Player.ocx  Player.inf 是所需的文件,按重要顺序排列,inf文件放在最后。系统提示成功之后,会在ocx同目录下生成CamView.CAB文件。打包还可以使用其他工具,如 老毛桃cab打包等。

    五、使用signcode.exe给OCX文件进行数字签名。(图形化界面操作)

    双击signcode.exe后出现一个数字签名向导

    下一步   选择需要签名的文件(CamView.cab)

    下一步   这里选择了自定义

    下一步   选择签名证书,从文件选择,选择刚才做好的test.spc

    下一步   私钥,磁盘上的私钥文件,点浏览选择刚才做好的test.pvk

    下一步   输入密码

    下一步   选择算法,这里我选择的是sha1

    下一步   默认

    下一步   描述:输入安装证书时提示的文字,随便输入

    下一步   时间   默认

    下一步   完成

    六、将CAb文件挂上服务器并修改网页中控件部分

    <OBJECT id=CamViewer classid=”clsid:CD55E5EC-F555-5555-5555-555A55C55DC5″ CODEBASE=”CamView.CAB#version=1,0,0,2″height=500 width=645 hspace=0 vspace=0 VIEWASTEXT>  </OBJECT>

    其中CODEBASE=”这里填写CAB文件的路径,#version=1,0,0,2″是控件的版本号,要与ocx的版本号一致。

    七、升级

    只要在源代码中更改Player.ocx文件中对应的版本 号,并同时更改网页调用控件的版本号就可以了,下一次客户访问这个页面时会自动检测并提示安装新控件,新控件会覆盖旧版本的控件。

    原文地址:http://hi.baidu.com/knowise/blog/item/81b666971e11db6154fb96fc.html

  • 相关阅读:
    20189215 2018-2019-2 《密码与安全新技术专题》第5周作业
    2018-2019-2 20189215 《网络攻防技术》第五周作业
    Ubuntu18.04安装Openssl-1.1.1
    2018-2019-2 20189215 《网络攻防技术》第四周作业
    2018-2019-2 20189215 《网络攻防技术》第三周作业
    Python—构造单向链表数据类型
    Python—使用列表构造栈数据结构
    Python—快速排序算法
    Python—使用Json序列化Datetime类型
    Linux基本命令
  • 原文地址:https://www.cnblogs.com/xinyuxin912/p/1891123.html
Copyright © 2011-2022 走看看