http://www.cnblogs.com/weiwin/p/4493835.htmlhtml
原文 http://www.docin.com/p-409284488.html瀏覽器
CAB打包文檔說明多線程
本文檔的目的在於說明將ocx和dll以及相關的文件打包成一個CAB包,以便在網頁下調用ocx控件時免去手工將dll和其餘一下文件拷貝到客戶機,方便了現場施工。工具
打包工具備makeCABpost
其中,ActvxDoc.exe用來查看ocx的CLSID,signcode.exe用來對打包好的cab進行數字簽名,其它的用於生成數字認證文件。字體
[version]this
signature="$CHINA$"url
AdvancedINF=1.0spa
[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