activex打包

http://www.cnblogs.com/weiwin/p/4493835.htmlhtml

activeX 打包

 

原文 http://www.docin.com/p-409284488.html瀏覽器

CAB打包文檔說明多線程

 

  1. 文檔目的

本文檔的目的在於說明將ocx和dll以及相關的文件打包成一個CAB包,以便在網頁下調用ocx控件時免去手工將dll和其餘一下文件拷貝到客戶機,方便了現場施工。工具

 

  1. 打包工具

打包工具備makeCABpost

其中,ActvxDoc.exe用來查看ocx的CLSID,signcode.exe用來對打包好的cab進行數字簽名,其它的用於生成數字認證文件。字體

 

  1. 打包過程
  2. 將打包工具makeCAB裏面的全部文件放到系統文件夾system32目錄下
  3. 新建一個文件夾,將全部要打包進cab的文件放在該新建的文件夾下
  4. 編寫inf安裝文件。新建一個txt文本文檔,並將其更名爲*.inf安裝文件,按照如下格式編寫inf文件。(打包時注意去除紅色的字)

[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

  1. 編寫運行的bat文件。新建一個txt文本文檔,並將其更名爲*.bat運行文件,按照如下格式編寫bat文件。(打包時注意去除紅色的字)

--生成數字簽名文件*.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

  1. 運行編寫好的bat文件。

將全部須要打包的文件和上兩步編寫好的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文件,點擊【下一步】

而後一直點擊【下一步】直到數字簽名完成。

  1. 版本控制

.cab包進行版本更新,使用戶可以打開瀏覽器時自動下載更新.cab包,需進行以下處理。

  1. ocx控件的版本進行更新。方法以下:打開源代碼,找到資源文件,修改版本信息,以下圖:

修改後從新生成ocx文件。

  1. 對打包時的.inf文件中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

 

  1. 頁面加載控件時添加版本信息,以下列紅色字體所示:<object id="slipprint" style="display:none" width=30 height=30 classid="CLSID: 5710EB41-87CE-4BF8-9A24-F520556714BB" codebase="../activeX/DicEPSON532.cab#version=1,0,0,3">

 

 

  1. 注意事項

雖然已對打包好的cab進行了數字簽名,可是該簽名並未在網上註冊,在客戶端仍然須要設爲信任站點。

 

6.若是安裝不成功能夠安裝 depends 看看你的插件缺乏什麼dll,自行去補充

 

 

重要提示

 

 

 

平臺工具集 Visual Studio 2013 - Windows XP (v120_xp)

 

relase 編譯 多線程 選mt

 

所在的「項目」=>>「屬性」=>>「配置屬性」=>>「C/C++」=>>「預處理器」=>>「預處理定義」 移除_DENUG

相關文章
相關標籤/搜索