前一阵公司需要做一个将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=yesDestDir=11FileVersion=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进行签名
具体步骤可参考这样就完成了ocx文件打包成cab并在ie浏览器加载的整个过程
当然,本地的证书还是会被ie拦截的,因为证书不安全,真正上线还是需要去购买的测试的时候,可以配置在ie浏览器internet选项中配置其中需要的exe我放在百度网盘中,欢迎下载
密码:v3kt