一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

如何發(fā)布ActiveX 控件

 daren2011 2014-09-06

[背景]

       做過(guò)ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的網(wǎng)頁(yè)上使用,那么用戶在客戶端就必須進(jìn)行本地的注冊(cè),也就是說(shuō)用戶得首先要把該ActiveX控件(test.ocx)放在本機(jī)的%system%/system32下,然后運(yùn)行DOS工具里面運(yùn)行regsvr32 test.ocx命令進(jìn)行注冊(cè)。但如果真是這么去做的話,那么代表著你處于危險(xiǎn)之中了,因?yàn)槟峭ㄟ^(guò)讓用戶自己去部署設(shè)置環(huán)境來(lái)達(dá)到你的目的,這就失去軟件項(xiàng)目本身所存在的價(jià)值。那么面對(duì)這種情況,我們應(yīng)該如何解決呢?聰明的你一定會(huì)很快就想到,我們可以使用戶在客戶端自動(dòng)下載安裝該ActiveX控件,這樣一來(lái)即可以實(shí)現(xiàn)我們所想要的功能,又不需要用戶自己去部署設(shè)置環(huán)境,這豈不是一舉兩得。

[必備條件]

一、用于將ActiveX控件進(jìn)行打包并加數(shù)據(jù)鑒名的工具集:

makecert.exe 制作cer格式的證書(shū),即X.509證書(shū),同時(shí)可以創(chuàng)建私鑰和公鑰。

cert2spc.exe  cer格式證書(shū)轉(zhuǎn)換成spc格式證書(shū),即PKCS #7證書(shū)。

cabarc.exe   ocx打包成cab。

signcode.exe 將證書(shū)簽署到ocx上去。

chktrust.exe  檢查簽署證書(shū)后的ocx是否正確。

certmgr.exe  是管理證書(shū)用的。

二、用于進(jìn)行打包用的ocx控件evS1300.ocx

三、用于查看ocx控件的工具ActvxDoc。

[制作過(guò)程]

一、環(huán)境設(shè)置

1、下載makeCAB包,解壓到本地目錄(如E盤(pán)根目錄),如查看到如圖1所示的工具集,則表示已下載成功:

(1makeCAB包的工具集)

 

2、設(shè)置系統(tǒng)環(huán)境變量,右鍵單擊“我的電腦”à選擇“屬性”à選擇“高級(jí)”選項(xiàng)卡,打開(kāi)如圖2所示的系統(tǒng)屬性面版塊:

 

 

 

(2:系統(tǒng)屬性版塊)

 3、在系統(tǒng)屬性版塊里單擊“環(huán)境變量(N)”按鈕,打開(kāi)圖3

 

 

(3:系統(tǒng)變量)

       4、選擇“系統(tǒng)變量(S)”里的“新建(W)”按鈕,打開(kāi)“編輯系統(tǒng)變量”對(duì)話框,如圖4所示,然后在“變量值(V)”里加入“;E/makeCAB”:

(4:編輯系統(tǒng)變量)

二、將用于打包的OCX控件放在E盤(pán)根目錄下(本文檔使用名為evS1300.ocx的控件來(lái)進(jìn)行介紹),如圖5所示,其中evS1300.ocx是本文檔進(jìn)行操作的控件對(duì)象,而mfc71.dll、msvcp71.dll、msvcr71.dll這三個(gè)文件通常是進(jìn)行打包時(shí)一并打包的文件,但不是必須(推薦一起打包),其可在系統(tǒng)中的system32目錄下找

到,請(qǐng)自行準(zhǔn)備。

 

 

(5;用于操作的OCX控件路徑)

三、ActiveX發(fā)布步驟

1、單擊“開(kāi)始”à“動(dòng)行(R)”à輸入“cmdà回車(chē)à進(jìn)入到操作的控件所在的目錄,如圖6所示:

(6:進(jìn)入E:/evS1300目錄)

2、創(chuàng)建PVK文件(私人密匙文件),在命令行中輸入“makecert -sk evS1300 evS1300.pvk -n CN=XXXXXXX公司,然后回車(chē),如圖7所示:

(7:創(chuàng)建PVK文件)

     3、創(chuàng)建CER文件(公司證書(shū)),在命令行中輸入“makecert -sk evS1300.pvk evS1300.cer”,然后回車(chē),如圖8所示,若出現(xiàn)“Successed”提示,則會(huì)在E:/evS1300目錄下生成evS1300.cer文件,如圖9所示:

(8:創(chuàng)建CER文件)

(9:生成evS1300.cer)

     4、創(chuàng)建SPC測(cè)試軟件出版商證明書(shū),在命令行中輸入“cert2spc evS1300.cer evS1300.spc”,然后回車(chē),如圖10所示:

 

(圖10:創(chuàng)建SPC測(cè)試軟件出版商證明書(shū))

       5、創(chuàng)建INF文件,用記錄本編輯以下信息

  1. [version]      
  2. signature="$CHINA$"     
  3. AdvancedINF=1.0     
  4.      
  5. [Add.Code]      
  6. evS1300.ocx=evS1300.ocx      
  7. msvcr71.dll=msvcr71.dll      
  8. mfc71.dll=mfc71.dll      
  9. msvcp71.dll=msvcp71.dll      
  10.      
  11. [evS1300.ocx]      
  12. file=thiscab      
  13. clsid={0440906E-9BD6-4F3E-B65A-39E1B339D9DA}      
  14. FileVersion=1,0,0,0     
  15. RegisterServer=yes      
  16.      
  17. [msvcr71.dll]      
  18. file-win32-x86=thiscab      
  19. RegisterServer=no      
  20. DestDir=11     
  21. FileVersion=7,10,3052,4     
  22.      
  23. [mfc71.dll]      
  24. file-win32-x86=thiscab      
  25. RegisterServer=no      
  26. DestDir=11     
  27. FileVersion=7,10,3077,0     
  28.      
  29. [msvcp71.dll]      
  30. file-win32-x86=thiscab      
  31. RegisterServer=no      
  32. DestDir=11     
  33. FileVersion=7,10,3077,0     

     如圖11所示,并保存為E:/evS1300/evS1300.inf,如圖12所示

(11evS1300.inf)

 

(12:保存evS1300.inf)

       evS1300.inf的內(nèi)容里,[version][Add.Code]項(xiàng)是必須的,[Add.Code]的鍵值項(xiàng)的多少取決于以下你所配制項(xiàng)的多少。[msvcr71.dll][mfc71.dll]、[msvcp71.dll]就是上面我所說(shuō)不是必須的項(xiàng),只要你想把msvcr71.dll、mfc71.dll、msvcp71.dll包括在發(fā)布包里,那這么三項(xiàng)就必須寫(xiě)在inf里,而這三項(xiàng)的具體內(nèi)容是固定的,可復(fù)制過(guò)去即可。最為關(guān)鍵的就是[evS1300.ocx]項(xiàng),其中有clsidFileVersion就是evS1300.ocxclassIdversion,這要求必須一至,否我們發(fā)布出去的CAB包時(shí)不能在客戶端自動(dòng)更新下載安裝。說(shuō)到這里,那我們?nèi)绾尾拍苤?span lang="EN-US">evS1300.ocx里面的classIdversion呢?我在上面的必備條件里介紹到有一個(gè)用于查看ocx控件的工具ActvxDoc,對(duì),就是用它,我們雙擊這個(gè)文件運(yùn)行它,此時(shí)可以看到圖13所示的界面: 

 

(13ActiveX Documenter)

在圖13的界面里,點(diǎn)擊“FileàOpen…”,打開(kāi)您所要查看的OCX控件,如圖14所示:

 

 

(14:打開(kāi)控件)

打開(kāi)了控件之后,我們?cè)诮缑娴挠疫叢课弧?span lang="EN-US">Class”的下拉框里選擇“<all interfaces=""></all>”就可以看到我們想要查找的FileVersionclassId,如圖15所示:

 

 

(圖15:控件屬性)

       6、創(chuàng)建CAB文件,在命令行中輸入“cabarc -s 6144 n evS1300.cab msvcr71.dll mfc71.dll msvcp71.dll evS1300.ocx evS1300.inf”,然后回車(chē),如圖16所示:

 

 

(圖16:創(chuàng)建CAB文件)

       7、使用Code Signing Wizard簽署一個(gè)CAB文件,首先雙擊運(yùn)行工具集里面的signcode.exe(或在命令行里直接輸入“signcode”后回車(chē)),系統(tǒng)會(huì)彈出如圖17所示的數(shù)字簽名向?qū)В?/span>

 

 

(圖17:數(shù)字簽名向?qū)В?/span>

  8、單擊“下一步(N)”按鈕,來(lái)到圖18所示,選擇要進(jìn)行數(shù)字簽名的且已做成CAB包的文件evS1300.cab文件。

(18:選擇CAB)

9、選擇好CAB包后單擊“下一步(N)”按鈕,在選擇想要的簽名類(lèi)型里選擇“自定議(C)”并單擊“下一步(N)”按鈕,如圖19所示:

(圖19:選擇簽名類(lèi)型)

       10、接下來(lái)單擊“從文件選擇(F)”按鈕,選擇剛剛制作的evS1300.cer,如圖20所示:

(圖20:選擇CER證書(shū))

       11、在圖20中單擊“下一步(N)”按鈕來(lái)到圖21,然后在圖21里選擇“CSP中的私鑰(K)”。

 

(圖21:選擇私鑰的位置)

       12、在圖21中單擊“下一步(N)”按鈕,然后在圖22中的散列算法中選擇“shal”,并單擊“下一步(N)”按鈕。

(圖22:選擇散列算法)

       13、在“證書(shū)路徑中的證書(shū)”中選擇“證書(shū)路徑中的所有證書(shū),包括根證書(shū)(C)”,在“其它證書(shū)(可選)”中選擇“包括在以下PKCS #7 證書(shū)(.p7b)文件中的證書(shū)(P):”,并單擊“瀏覽(R”按鈕選擇evS1300.spc文件,選擇完后單擊“下一步(N)”按鈕,如圖23所示:

(圖23:選擇其它證書(shū))

       14、接下來(lái)在彈出的“數(shù)據(jù)描述”窗口中輸入公司的名稱(chēng)和網(wǎng)址并單擊“下一步(N)”按鈕,如圖24所示:

(圖24:輸入數(shù)據(jù)描述)

       15、現(xiàn)大部份工作都已完成,在接下來(lái)的一步當(dāng)中是可選的操作,其作用只是為CAB加入時(shí)間戳,此步驟完全可以不做,如圖25所示:

(這里我提拱三個(gè)免費(fèi)的代碼簽名時(shí)間戳地址)

VeriSign:  http://timestamp./scripts/timstamp.dll

Comodo:  http://timestamp./authenticode

GeoTrust/TrustCenter: http://www./codesigning/timestamp

(圖25:給數(shù)據(jù)蓋時(shí)間戳)

       16、完成,在圖25中單擊“下一步(N)”按鈕便可來(lái)到數(shù)字簽名向?qū)У淖詈笠徊?,即操作總覽,如圖26所示,單擊“完成”按鈕便可大功告成,如圖27所示:

 

(圖26,完成操作總覽)

(圖27:簽名成功提示)

 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    男女激情视频在线免费观看| 亚洲高清一区二区高清| 国产又粗又猛又爽又黄的文字| 国产91色综合久久高清| 欧美综合色婷婷欧美激情| 后入美臀少妇一区二区| 久一视频这里只有精品| 中文字幕日韩欧美亚洲午夜| 台湾综合熟女一区二区| 日韩人妻精品免费一区二区三区| 午夜精品国产一区在线观看| 夫妻性生活一级黄色录像| 国产精品视频一区二区秋霞| 日韩不卡一区二区视频| 欧美自拍系列精品在线| 日系韩系还是欧美久久| 在线日韩欧美国产自拍| 国产精品成人又粗又长又爽| 91人妻久久精品一区二区三区| 亚洲国产精品久久精品成人| 婷婷伊人综合中文字幕| 国产精品不卡免费视频| 亚洲精品国男人在线视频| 国产精品亚洲一区二区| 国产精品免费自拍视频| 亚洲黄片在线免费小视频| 亚洲精品高清国产一线久久| 四十女人口红哪个色好看| 欧美精品久久男人的天堂| 99一级特黄色性生活片| 欧洲日韩精品一区二区三区| 又色又爽又无遮挡的视频| 日本东京热视频一区二区三区| 亚洲国产天堂av成人在线播放| 久久精品国产一区久久久| 久久综合日韩精品免费观看| 欧美国产精品区一区二区三区| 国产av熟女一区二区三区蜜桃| 午夜视频成人在线免费| av国产熟妇露脸在线观看| 欧美日韩精品一区免费|