前一阵公司需要做一个将ActiveX嵌入浏览器项目,由于起初是用bat手动注册,不方便用户的使用,搜索资料了解到CAB包可以直接在ie浏览器中自行注册,比较方便
1、首先要编写要给inf文件,我是用txt写的,然后直接更改后缀,以下是我的inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
LotusCardActiveX.ocx=LotusCardActiveX.ocx
[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文件
2、编写好inf文件后,使用iexpress.exe将ocx与inf合并成CAB包
首先创建新的自解压缩文件
选择ActiveX
将inf与ocx添加进来
自定义CAB包名并勾选第二个选项
选择不保存
点击下一步,创建CAB包,并点击完成
3、创建好CAB包之后使用makecert注册一个证书
注:如果没有visual studio,自行下载makecert.exe 在exe所在的目录运行cmd并键入命令
具体步骤请参考 制作证书
4、CAB和证书都完成后使用signcode.exe进行签名
具体步骤可参考对cab文件进行签名
这样就完成了ocx文件打包成cab并在ie浏览器加载的整个过程
当然,本地的证书还是会被ie拦截的,因为证书不安全,真正上线还是需要去购买的
测试的时候,可以配置在ie浏览器internet选项中配置
具体教程可以网上找,很多的
主要参照的文章有
①OCX控件打包成CAB并实现数字签名过程
②CAB文件打包以及制作证书签名
其中需要的exe我放在百度网盘中,欢迎下载百度网盘
密码:v3kt
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。