OCX打包CAB并签名的过程

前言

ocx需要依赖dll及ini配置文件,我希望可以自动注册ocx,并将ocx、dll及ini配置文件放入系统文件夹中。所以可以将ocx、dll及ini打包到cab中,当js第一次调用cab时,可以自动安装cab,将ocx,dll及ini注册在系统中。

一、打包CAB

1、编写inf文件,可以直接修改使用

; =========================ENP_ActiveXDLL.inf ======================== 

 ; This .inf file will control the installation of the testOcx 

 [version] 
 ; version signature (same for both NT and Win95) do not remove 
 signature="$CHICAGO$" 
 AdvancedINF=2.0 

 [Add.Code] 

;需要添加的dll及ini
 ENP_ActiveXDLL.ocx=ENP_ActiveXDLL.ocx 
 DB_CSICPay.dll=DB_CSICPay.dll
 DB_CSICPay.ini=DB_CSICPay.ini
 XZ_F10_API.dll=XZ_F10_API.dll
 

 [ENP_ActiveXDLL.ocx] 
 ;"thiscab" 是一个关键字,意指包含该INF的CAB文件。 
 ;"file-win32-x86" 指定平台是 x86。 
 file-win32-x86=thiscab 

扫描二维码关注公众号,回复: 5854934 查看本文章

 ;"RegisterServer"指改文件是否需要注册,一般情况下只有一个ocx需要注册,但有时也需要注册dll,需要注册时必填,不需要注册时可不写 
 RegisterServer=yes 

 ;"clsid" 指的是要安装控件的CLSID。dll是没有classid的,所以dll不用写classid 
 clsid={22B1C397-92C2-4130-98A2-456FF31B9398} 

 ;"FileVersion"是此文件的版本号,物理文件上右键→属性→详细信息可看到。注意:有的dll详细信息的版本号是空,这时候可以不填写此关键字。 
 FileVersion=1,0,0,1

 ;"DestDir"指的是装载目录或者文件的地址: 11 指定为系统目录 WINDOWS/ /SYSTEM32或 WINDOWS/ /SYSWOW64;
 DestDir=11 

 [DB_CSICPay.dll] 
 file-win32-x86=thiscab 
 DestDir=11 

 [DB_CSICPay.ini] 
 file-win32-x86=thiscab 
 DestDir=11 

 [XZ_F10_API.dll] 
 file-win32-x86=thiscab 
 FileVersion=1,0,0,9 
 DestDir=11 

 [RegisterFiles] 
 ;把需要注册的所有控件或动态链接库的路径写在下面。%11%跟上面的DestDir=11是一样的 
%11%/ENP_ActiveXDLL.ocx

 ; ====================== end of ENP_ActiveXDLL.inf ===================== 

2、iexpress.exe打包工具

这个工具windows系统已经自带了,运行框输入 iexpress 即可打开 


二 、制作签名证书

1、集合签名工具

2、在命令行输入一下命令:

输入三次相同密码,执行结束后得到.pvk及.cer文件

3、运行Cert2Spc.exe,执行得到ENP_ActiveXDLL.spc

4、经过以上,获得签名证书

三、对打包后的CAB进行签名:signtool.exe

1、命令行输入

2、使用数字签名向导对CAB签名

1)选择需要签名的CAB文件

 2)选择自定义

 3)从文件中选择,X.509证书,选择.cer文件

 4)选择私钥文件,输入最开始签名证书中的私钥密码

 5)选择哈希算法

 6)选择证书.spc

 7)写描述+时间戳(可不加)http://timestamp.verisign.com/scripts/timstamp.dll

 8)完成

 

四、JS调用CAB

修改 JS调用OCX的代码:CODEBASE部门修改如下,其余相同,即可安装cab,并注册.ocx,dll,ini在32位系统盘的C:/WINDOWS/SYSTEM32或64位的C:/WINDOWS/SYSWOW64中。

猜你喜欢

转载自blog.csdn.net/lqyscg701429/article/details/84102358
今日推荐