打包工具有多種,我用的是cabarc這個工具。
一:概要過程
1、將ocx生成 (***x.ocx)
2、寫inf 檔案 (***.inf)
[version]
signature="$chicago$"
advancedinf=2.0
[add.code]
***x.ocx=***x.ocx :我的ocx 檔案
001.dll=001.dll :依賴的dll檔案
002.dll=002.dll
…… :可以有n個全部列出來。
my.ini=my.ini :配置檔案
[***x.ocx]
file=thiscab
clsid= :控制項的clsid,在odl檔案找
fileversion=1,0,0,1 :檔案版本號,右鍵控制項屬性
registerserver=yes :註冊成系統服務。
[001.dll]
file-win32-x86=thiscab
registerserver=no :不註冊
destdir=11 :將此檔案解壓的目標路徑。這只是個代號。具體啥意思,網上查。
fileversion=7,0,3,4
[my.ini]
file-win32-x86=thiscab
registerserver=no
destdir=11
3、將檔案打包成cab壓縮包。
cabarc -s 6144 n mytest.cab ***x.ocx ***.inf 001.dll …… my.ini
cabarc -r -p -s 6144 n mytest.cab * // 將執行該命令的目錄下的所有檔案及資料夾裡的檔案打包。
cabarc -s 6144 n ydcard.cab * //將執行該命令的目錄下的所有檔案打包。
我寫成了批處理:
@echo on
set cmddir=d:\makecab ::定義乙個命令目錄的變數。
%cmddir%\cabarc -s 6144 n mytest.cab ***x.ocx ***.inf 001.dll 002.dll my.ini
pause
4、將打包成的mytest.cab 放到web 專案裡。
[color=blue][b]ps:至於簽名神馬的,先不管它。又臭又長。作用也不大(一家之言)[/b][/color]
二:過程中遇到的問題
1、如果ocx依賴的dll 很多,我想把這些dll 分門別類的分別 存到 system32/001/ 和 system32/002/ 的目錄下。。如果實現??? 請高手 指點 !!!
手把手教你用CAB發布OCX的簡單辦法
cab是一種檔案壓縮格式,把ocx檔案 activex外掛程式 壓縮成cab檔案是為了發布它,這種發布方式給人感覺 瀏覽器會自動安裝該外掛程式 很多朋友鍾情於此。目前流行很多壓縮工具,但winrar這類工具生成的cab檔案瀏覽器無法識別。經過試用,發現用windows系統檔案cabarc來製作cab...
手把手教你用CAB發布OCX的簡單辦法
cab是一種檔案壓縮格式,把ocx檔案 activex外掛程式 壓縮成cab檔案是為了發布它,這種發布方式給人感覺 瀏覽器會自動安裝該外掛程式 很多朋友鍾情於此。目前流行很多壓縮工具,但winrar這類工具生成的cab檔案瀏覽器無法識別。經過試用,發現用windows系統檔案cabarc來製作cab...
手把手教你用CAB發布OCX的簡單辦法
cab是一種檔案壓縮格式,把ocx檔案 activex外掛程式 壓縮成cab檔案是為了發布它,這種發布方式給人感覺 瀏覽器會自動安裝該外掛程式 很多朋友鍾情於此。目前流行很多壓縮工具,但winrar這類工具生成的cab檔案瀏覽器無法識別。經過試用,發現用windows系統檔案cabarc來製作cab...