标签:
原文 http://www.docin.com/p-409284488.html
CAB打包文档说明
本文档的目的在于说明将ocx和dll以及相关的文件打包成一个CAB包,以便在网页下调用ocx控件时免去手工将dll和其他一下文件拷贝到客户机,方便了现场施工。
打包工具有makeCAB
其中,ActvxDoc.exe用来查看ocx的CLSID,signcode.exe用来对打包好的cab进行数字签名,其它的用于生成数字认证文件。
[version]
signature="$CHINA$"
AdvancedINF=1.0
[Add.Code] --该段为所打包的文件
logocx.ocx=logocx.ocx
MFC42D.DLL=MFC42D.DLL
MFCO42D.DLL=MFCO42D.DLL
MSVCP60D.DLL=MSVCP60D.DLL
MSVCRTD.DLL=MSVCRTD.DLL
pssts.ini=pssts.ini
[logocx.ocx] --打包的ocx
file=thiscab
clsid={5710EB41-87CE-4BF8-9A24-F520556714BB} --ocx的序列号
FileVersion=1,0,0,1
RegisterServer=yes
--以下是其他的相关文件
[MFC42D.DLL]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11 --存放目录为system32
FileVersion=7,10,3052,4
[MFCO42D.DLL]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=7,10,3052,4
[MSVCP60D.DLL]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=7,10,3052,4
[MSVCRTD.DLL]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=7,10,3052,4
[pssts.ini]
file-win32-x86=thiscab
DestDir=11
--生成数字签名文件*.pvk
--logocx是文件路径
makecert -sk logocx logocx.pvk -n CN=迪科电力
--生成数字签名文件*.cer
makecert -sk logocx.pvk logocx.cer
--生成数字签名文件*.spc
cert2spc logocx.cer logocx.spc
--打包cab文件,其中【MFC42D.DLL MFCO42D.DLL MSVCP60D.DLL MSVCRTD.DLL pssts.ini logocx.ocx logocx.inf】为要打包进cab中的文件,注意要包含上一步编写的inf文件
cabarc -s 6144 n logocx.cab MFC42D.DLL MFCO42D.DLL MSVCP60D.DLL MSVCRTD.DLL pssts.ini logocx.ocx logocx.inf
--运行数字签名程序
signcode.exe
将所有需要打包的文件和上两步编写好的inf、bat放在同一个目录下,双击bat文件运行,首先生成数字签名所需要的pvk、cer、spc文件,然后打包成cab,最后运行signcode.exe程序进行数字签名。(以上步骤为双击bat文件后自动生成的)
在signcode界面中,
点击【下一步】,点击【浏览(R)…】,更改文件类型为*.cab,选中刚生成的cab文件,点击【打开】,然后点击【下一步】,
选择【自定义】,然后点击【下一步】,
点击【从文件选择】,打开刚才生成的cer文件,点击【下一步】
首先选择【磁盘上的私钥文件】,点击浏览选择刚才生成的PVK文件,然后选择【CSP中的私钥】,在【密钥容器】中选择*.pvk(为刚才选择的pvk),点击【下一步】。
选中【sha1】,然后点击【下一步】
选中【包括在以下PKCS#7(.p7b)文件中的证书(P)】,点击浏览,选择刚才生成的spc文件,点击【下一步】
然后一直点击【下一步】直到数字签名完成。
对.cab包进行版本更新,使用户能够打开浏览器时自动下载更新.cab包,需进行如下处理。
修改后重新生成ocx文件。
[logocx.ocx] --打包的ocx
file=thiscab
clsid={5710EB41-87CE-4BF8-9A24-F520556714BB} --ocx的序列号
FileVersion=1,0,0,1
RegisterServer=yes
修改FileVersion=1,0,0,3
虽然已对打包好的cab进行了数字签名,但是该签名并未在网上注册,在客户端仍然需要设为信任站点。
6.如果安装不成功可以安装 depends 看看你的插件缺少什么dll,自行去补充
重要提示
平台工具集 Visual Studio 2013 - Windows XP (v120_xp)
relase 编译 多线程 选mt
所在的“项目”=>>“属性”=>>“配置属性”=>>“C/C++”=>>“预处理器”=>>“预处理定义” 移除_DENUG
标签:
原文地址:http://www.cnblogs.com/weiwin/p/4493835.html