天天看點

網頁調用Activex實作,ocx封裝成cab檔案

說明 

       首先說下為什麼要把ocx控件打包成cab檔案,這是因為ocx控件,需要使用者單獨下載下傳,然後自己通過resiger指令,在cmd中注冊,這對于小白使用者,顯然不太顯示,是以就需要打包成cab檔案,由網頁作為ActiveX控件自動的下載下傳注冊,這樣使用者使用起來就輕松了多。

OCX打包CAB并過程(打包cab後可以在加入自定義簽名)

制作cab檔案時需要将所有的相關檔案都包含進去,可以通過Depends(VC自帶的)檢查需要的檔案。使用inf檔案将這些東西都寫進去。

1、制作inf檔案

setup.INF

最開始一般是[Version]區:

eg: [Version]

signature=" $CHICAGO$ "

AdvancedINF=2.0

接下來就是最重要的[Add.Code]區:

eg: [Add.Code]

getcertocx.ocx=getcertocx.ocx

前面是要下載下傳的檔案名,後面是對應這個檔案的區域名,可以是任何名字,不過一般都是和檔案的名字相同,這樣友善維護。

再接下來是各個檔案的區域了

[getcertocx.ocx]

file-win32-x86=thiscab

RegisterServer=yes

clsid={0A0488CF-F9AB-4AC4-AD8F-CD893553DD22}

DestDir=11

FileVersion=1,0,0,1

[getcertocx.ocx]區域中的第一個file值告訴ie到哪裡去得到這個ocx,file一共包括三個部分,第一部分是file,這個永遠都是這樣的;第二部分告訴聲明支援的OS,win32表示windows,mac就是蘋果MAC OX了;第三部分是CPU類型,比如說x86、mips等

file的值可以取三個:一個URL、ignore和thiscab,如果是URL則說明到URL所在的位置去下;如果是ignore說明對于這種OS和CPU,不需要下載下傳這個檔案;如果是thiscab就在目前的cab檔案中了。

第二部分是RegisterServer,可以取兩個值yes和no,如果為yes則說明ie要注冊該ocx,如果是no就不必了;

接下來是clsid,需要填寫該ocx的class guid。

再下來是DestDir,它的值是ocx将要存到本地硬碟的位置,如果它的值是10,則将ocx放到\Windows或者\WinNT下;如果是11,則放到\Windows\System或者

\WinNT\System32下;如果是空(就是沒有值)則會放到\Windows或者\WinNT下的Downloaded Program Files目錄下;

最後是FileVersion,說明了ocx的版本号。

[version] 
; version signature (same for both NT and Win95) do not remove 
signature="$CHICAGO$" 
AdvancedINF=2.0 
[Add.Code] 
FerlyOcx2005.ocx=FerlyOcx2005.ocx
libFLAlgJniCall.dll=libFLAlgJniCall.dll 
setup.inf=setup.inf 
[install.files] 
FerlyOcx2005.ocx=FerlyOcx2005.ocx 
libFLAlgJniCall.dll=libFLAlgJniCall.dll
setup.inf=setup.inf 
[FerlyOcx2005.ocx] 
clsid={E962EB9D-583C-449D-AE47-1F0C389C0031} 
file-win32-x86=thiscab 
FileVersion=1,0,0,1 
DestDir=11 
RegisterServer=yes
[libFLAlgJniCall.dll]
file-win32-x86=thiscab      
RegisterServer=no      
DestDir=11
[setup.inf] 
file=thiscab 
[RegisterFiles] 
%11%\FerlyOcx2005.ocx 
; end of INF file 
           

2、制作cab檔案

利用iexpress.exe(windows提供的一個向導式cab制作工具)

網頁調用Activex實作,ocx封裝成cab檔案

選“建立新的自解壓縮指定檔案”,點“下一步”。

網頁調用Activex實作,ocx封裝成cab檔案

選“僅建立壓縮檔案(ActiveX安裝)”,點“下一步”。

網頁調用Activex實作,ocx封裝成cab檔案

點“添加”将上邊制作好的setup.inf和getcertocx.ocx檔案添加進來,點“下一步”。

網頁調用Activex實作,ocx封裝成cab檔案

點“浏覽”輸入要生成的CAB檔案名稱,并選中“在軟體包中使用長檔案名儲存檔案”,之後點“下一步”。

網頁調用Activex實作,ocx封裝成cab檔案

選“不儲存”,點“下一步”。

網頁調用Activex實作,ocx封裝成cab檔案

點“下一步”。

網頁調用Activex實作,ocx封裝成cab檔案

點“完成”退出向導,cab檔案生成。

網頁調用Activex實作,ocx封裝成cab檔案

繼續閱讀