前一陣公司須要作一個將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