為ActiveX控制項建立Cab檔案

2021-04-03 00:39:25 字數 4222 閱讀 8508

為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...