前一阵公司须要作一个将ActiveX嵌入浏览器项目,因为起初是用bat手动注册,不方便用户的使用,搜索资料了解到CAB包能够直接在ie浏览器中自行注册,比较方便
一、首先要编写要给inf文件,我是用txt写的,而后直接更改后缀,如下是个人inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0 html
[Add.Code]
LotusCardActiveX.ocx=LotusCardActiveX.ocxexpress
[LotusCardActiveX.ocx]
file-win32-x86=thiscab
clsid={BD1874A5-3810-4639-8B70-3DDD607BAADB}
RegisterServer=yes
DestDir=11
FileVersion=1,0,0,1浏览器
[RegisterFiles]
%11%/LotusCardActiveX.ocx
因为我没有其余dll文件因此只添加了ocx文件
二、编写好inf文件后,使用iexpress.exe将ocx与inf合并成CAB包
首先建立新的自解压缩文件安全
选择ActiveX测试
将inf与ocx添加进来this
自定义CAB包名并勾选第二个选项spa
选择不保存.net
点击下一步,建立CAB包,并点击完成3d
三、建立好CAB包以后使用makecert注册一个证书
注:若是没有visual studio,自行下载makecert.exe 在exe所在的目录运行cmd并键入命令
具体步骤请参考 制做证书code
四、CAB和证书都完成后使用signcode.exe进行签名
具体步骤可参考对cab文件进行签名
这样就完成了ocx文件打包成cab并在ie浏览器加载的整个过程
固然,本地的证书仍是会被ie拦截的,由于证书不安全,真正上线仍是须要去购买的
测试的时候,能够配置在ie浏览器internet选项中配置
具体教程能够网上找,不少的
主要参照的文章有
①OCX控件打包成CAB并实现数字签名过程
②CAB文件打包以及制做证书签名
其中须要的exe我放在百度网盘中,欢迎下载百度网盘密码:v3kt