為activex
空間新增
cab檔案
目的: 1.
依賴mfc
庫或atl
庫等開發的
activex
控制項要正常的執行必須依賴這些庫。但是你不能保證你使用者的機器上裝有與你開發環境相同的庫,所以,當你發行乙個
activex
控制項,你必須要包證這些依賴庫的存在。
2.在網路上執行的
activex
3.得到控制項後,使用前當然還要給它註冊,但是你別忘了,還有他那些個依賴庫的註冊工作等著你耐心的乙個個的
regsvr32
掉。哦,天哪,使用者只是想隨便的瀏覽乙個網頁而已卻要他做這麼麻煩的工作,誰願意做,我們上帝們才不會關心你這些技術細節,他們希望在電腦前輕點下滑鼠就一切正常,他們要的是自動化!而這一切,
cab能幫你完全解決。
原理:
通過高壓縮技術(比
zip壓縮度還高
3成)——打包成
cabcab
檔案中的
*.inf
文字檔案的來尋找你電腦的上相應的
dll(控制項依賴庫及控制項本身,
ocx本就是一種特殊的
dll)是否註冊過,如果沒有,會自動幫你註冊,然後控制項既可以正常使用。
(注:關於
cab壓縮技術,請參考
msdn
建立cab
檔案: 1.
建立inf
檔案。inf
dll
檔案或其他
ocx
檔案)。
inf
檔案使您得以將所有所需的檔案**在乙個壓縮的
cab
inf
檔案及其選項的更多資訊,包括如何建立與平台無關的
inf
檔案,請參見
platform sdk
文件中的關於
inf
檔案和使用
inf
檔案(在
msdn library/setup
和目錄下)。
舉例來說,下面的
inf
檔案用於為
axyourcontrol
控制項建立
cab
檔案。axyourcontrol
是由某一庫支援開發的(
mfc,
atl或其他),假設他所支援庫的主要由
need1.dll
,need2.dll
,need3.dll
三個dll
庫(具體有哪些庫檔案根據情況查閱
關鍵字「file-win32-x
86」
將平台標識為 x86 特定的。
可通過在windows 資源管理器中的檔案上單擊滑鼠右鍵來獲取檔案的版本號。從顯示的列表中選擇「屬性」,然後在顯示的對話方塊中選擇「版本」選項卡。有時需要在檔案版本中額外插入乙個0。例如,在對話方塊中atl.dll 的版本號顯示為2.00.7024。而在inf 檔案中,這變為2, 00, 0, 7024。
「destdir」
是將要載入檔案的目錄所在的位置:11 指定系統目錄為windows/system 或winnt/system32;10 指定windows 目錄、windows 或winnt。如果未指定任何destdir(典型情況),則**安裝在固定的occache 目錄中。
「clsid」
是將要安裝的控制項的clsid。
2.執行
cabarc
實用工具。
cabarc.exe
是微軟的乙個
cabcabin sdk
bin目錄下可以找到。
應在包含原始檔的目錄下執行
cabarc
。在命令列上,按原始檔出現在
inf
中的順序排列它們,並將
inf
檔案放在最後。例如,若要從上面的
inf
檔案生成
axyourcontrol
控制項的cab
檔案,請使用下面的命令:
…/bin/cabarc -s 6144 n
axyourcontrol
.cab
need1
.dll
need2
.dll
need3
.dll
axyourcontrol
.ocx
axyourcontrol
.inf
-s
選項在壓縮檔案中保留
用於**簽名
的空間。
n
命令指定希望建立
cab
檔案。有關
cabarc
命令和選項的列表,請在命令列上僅鍵入
cabarc
:…/bin/
cabarc
其他的一些補充: 1.
需要mfc
控制項中包含的
dll檔案有
msvcrt.dll
、mfc42.dll
和olepro32.dll
,其中mfc42.dll
視你開發環境的
mfc版本所定,例如本人是在
vc7環境下開發控制項的,所以,應該為
mfc71.dll。2.
為activex
空間建立
cab檔案還有乙個重要的話題就是
將其打包為簽名壓縮
(cab)
msdn
:ms-help://ms.msdnqtr.2003feb.2052/vccore/html/creating_signed_cab_files_for_mfc_and_atl_controls.htm
3.關於在建立
inf時
dll的版本,你可以滑鼠右擊點出他的屬性對話方塊,在版本一欄就可以看到了,注意,填寫時,版本號之間的「
.」號變換為「,」。
製作activex控制項cab的方法
瀏覽器中使用的activex控制項一般是打包成cab檔案,然後申請證書。測試的時候可以使用一些免費的證書。整個過程用批處理比較方便,把下面存成批處理檔案。inf檔案內容如下 version version signature same for both nt and win95 do not rem...
為MFC和ATL控制項建立簽署的CAB檔案
正文 這個東西在msdn中有詳細的過程 e文 天極網上的這一篇俺覺得是msdn的翻譯 http yesky.20011220 210737.shtml 不過我照著上面的步驟做,怎麼都沒有成功,還說數字簽名要錢 這不是要我的命嗎 然後在找啊找,終於讓我找到了簡單一點的辦法。下面是建立簽署cab檔案的步...
ActiveX控制項
1.概念 activex控制項等價於以前的ole控制項或ocx。乙個典型的控制項包括設計時和運 行時的使用者介面,唯一的idispatch介面定義控制項的方法和屬性,唯一的 iconnectionpoint介面用於控制項可引發的事件。2.控制項框架 圖 1其中,dclock和 dclockevent...