如何制作cab包(解决不能注册的问题)
CMicrosoftEhttp://mimmy.iteye.com/blog/512474clipseWindows瀏覽器?
??? 在上一篇文章中,講述了如何制作客戶端Activex插件的cab包,但是在使用過程中發(fā)現(xiàn)有的瀏覽器不能注冊(cè)成功,手動(dòng)注冊(cè)也不行,提示缺少動(dòng)態(tài)鏈接庫(kù)的問題,導(dǎo)致不能正常使用。后來重新編譯ocx,將其他dll補(bǔ)充進(jìn)來一起打包,但仍然不能注冊(cè)成功。
?
??? 于是將所有文件復(fù)制到system32文件夾下,手動(dòng)進(jìn)行注冊(cè),結(jié)果注冊(cè)失敗。原來是inf中的寫法將system32作為目的文件夾,而該文件夾卻不允許這樣操作。至于原因,目前還不清楚,網(wǎng)上搜索到的例子也都是使用system32,可能我的ocx比較特殊吧,那就使用system32下新建的一個(gè)目錄吧,這次手動(dòng)注冊(cè)可以成功。
?
??? 重新打包、測(cè)試,有點(diǎn)崩潰了,為什么還是注冊(cè)不了?,F(xiàn)象是瀏覽器提示是否安裝,點(diǎn)擊安裝后無反應(yīng),刷新頁面還是提示是否安裝。后來查看支付寶的支付控件中的inf文件,按照其格式重新制作inf文件,再次測(cè)試,成功!
?
如何制作cab包
制作SSL VPN客戶端插件cab包有兩種方法,一種是手動(dòng)打包,另一種是利用Ant自動(dòng)打包,下面分別對(duì)兩種方法進(jìn)行說明,你可以根據(jù)熟練程度自由選擇。
一、手動(dòng)打包
準(zhǔn)備工作
l??用到的工具
打包工具iexpress.exe
簽名工具signcode.exe
代碼簽名證書
l??打包文件
WVC.ocx
LiteUnzip.dll
mfc80u.dll
mfcm80u.dll
msvcm80.dll
msvcp80.dll
msvcr80.dll
Microsoft.VC80.CRT.manifest
Microsoft.VC80.MFC.manifest
???????在制作cab包之前,需要準(zhǔn)備以上的打包、簽名工具和文件,將iexpress.exe和signcode.exe復(fù)制到Java環(huán)境變量的bin目錄下。打包文件全部存放在獨(dú)立的一個(gè)文件夾下。
制作步驟
步驟1 準(zhǔn)備inf文件
將以下代碼另存為wvc.inf,存放于打包文件目錄下。文件內(nèi)容一般情況下不需要改變,除非cab需要增加或減少文件的情況下,再修改此文件。
?
?
Text代碼???
?
注釋:
2??"thiscab"?是一個(gè)關(guān)鍵字,意指包含該INF的CAB文件。也可以從網(wǎng)上下載所需要的DLL文件,只要指定一個(gè)HTTP?網(wǎng)址即可,如:
2??關(guān)鍵字"file-win32-x86"?指定平臺(tái)是?x86。
2??文件版本號(hào)可見屬性。
2??"DestDir"指的是裝載目錄或者文件的地址: 11?指定為系統(tǒng)目錄?WINDOWS/ /SYSTEM32;
2??"clsid"?指的是要安裝控件的CLSID。
步驟2 簽名ocx文件
運(yùn)行signcode.exe
1)??????選擇要簽名的ocx文件,由于dll不需要注冊(cè)到系統(tǒng),所以不必簽名。
2)??????選擇代碼簽名證書公鑰。
3)??????選擇代碼簽名證書私鑰。
4)??????其他選項(xiàng)均為默認(rèn)設(shè)置,輸入證書私鑰口令,輸入時(shí)間戳,再一次輸入私鑰口令。
步驟3 制作CAB
運(yùn)行iexpress.exe
1)??????選擇“Create new Self Extraction Directive file”,點(diǎn)擊下一步。
2)??????選擇“Create compressed files only(ActiveX Installs)”,點(diǎn)擊下一步。
3)??????點(diǎn)擊Add,選擇所有文件包括inf,點(diǎn)擊下一步。
4)??????點(diǎn)擊Browse,輸入.CAB文件的存放地址(包含所取文件名),并且要選中?“Store files using Long File Name inside Package”。點(diǎn)擊下一步。
5)??????選擇“Don’t save”,一直點(diǎn)擊下一步,直到完成。
步驟4 簽名CAB
?
同步驟2,選擇剛剛生成的cab包進(jìn)行簽名,注意簽名后復(fù)制到webapp/download目錄時(shí)需要更名為wvc.cab。
?
步驟5 刪除ocx插件
如果想刪除已安裝的插件,重新注冊(cè),那么進(jìn)入安裝目錄c:\windows\downloaded program files,選中WVC刪除即可。
二、自動(dòng)打包
準(zhǔn)備工作
l??用到的工具
打包工具cabarc.exe
簽名工具signcode.exe
l??打包文件
WVC.ocx
LiteUnzip.dll
mfc80u.dll
mfcm80u.dll
msvcm80.dll
msvcp80.dll
msvcr80.dll
Microsoft.VC80.CRT.manifest
Microsoft.VC80.MFC.manifest
在制作cab包之前,需要準(zhǔn)備以上的打包、簽名工具和文件,將cabarc.exe和signcode.exe復(fù)制到Java環(huán)境變量的bin目錄下。打包文件全部存放在webapp/download/wvc文件夾下。更新build.xml文件。
制作步驟
步驟1 準(zhǔn)備inf文件
參照手動(dòng)打包步驟。
步驟2 修改本地時(shí)間
?
由于代碼簽名證書已經(jīng)過期,所以需要將本地時(shí)間修改成證書還沒有過期的時(shí)間,否則簽名失敗。如果擁有未過期的代碼簽名證書,此步驟可以忽略。
步驟3 執(zhí)行build.xml的activex任務(wù)
在Eclipse中打開build.xml文件,執(zhí)行activex任務(wù)。該任務(wù)會(huì)自動(dòng)簽名wvc.ocx文件,生成wvc.cab并簽名。
- tools.rar?(111.1 KB)
- 下載次數(shù): 248
總結(jié)
以上是生活随笔為你收集整理的如何制作cab包(解决不能注册的问题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC安装证书到指定CSP
- 下一篇: 在Win7 64位注册ActiveX控件