CAB打包的困惑

一、CAB打包過程:

下載CABSDK.EXE解壓後在命令行下進入其bin目錄,用CABARC.EXE打包。

(1)爲了方便操作,可以將CABARC.EXE添加到環境變量中:桌面上右擊“我的電腦”,“屬性”,“高級”,“環境變量”,“系統變量”,找到“Path”,在後邊把CABARC.EXE所在的路徑添加上去,注意用分號隔開新添加的路徑。

(2)準備好文件

install.inf :CAB安裝配置文件

HelloBossmaSetup.msi:安裝程序文件

install.inf文件的內容:

[version]

signature="$CHICAGO$"

AdvancedINF=2.0

 

[Setup Hooks]

hook1=hook1

 

[hook1]

run=msiexec.exe /i "%EXTRACT_DIR%\XXX.msi"/qn

run:一般只需要修改這個就行了

(3)執行cabarc命令

桌面左下角“開始”,“運行”,輸入cmd,打開命令提示符工具,進入準備好的文件的目錄,執行命令:

cabarc n HelloBossma.cab HelloBossmaSetup.msiinstall.inf 

顯示“Completed successfully” ,打開所在目錄,就可以看到生成的文件了。

 

二、部署測試

找個IIS,編個ASP網頁之類的文件,加入下列代碼:

<object classid="clsid:636B8CE1-7512-464C-B63C-FC75BDCA21DB" codebase="hellobossma/HelloBossma.CAB" width="442" height="87" id="HelloBossma" name="HelloBossma">

其中clsid爲項目中申請的GUID,codebase非常重要,開始我測試的時候將CAB文件和這個網頁放在同目錄下,codebase寫成:"XXX.CAB",結果打開這個網頁,狀態欄進度條很快就結束並且顯示紅叉,沒有任何安裝提示,而且電腦的C:\WINDOWS\Downloaded Program Files 目錄下也沒有下載下來的文件,這讓我很困惑。搞了一晚上也沒搞明白是哪裏錯了,不停地打包測試,始終不成功,除非自己手動在電腦上安裝MSI文件,網頁始終不能自動安裝。當然是在那些IE安全級別,安全接口之類的我已經完成的前提下。

最後我偶然把codebase改成:"hello/XXX.CAB" 就是我把CAB文件放在和網頁同級的一個新建的hello文件夾中,突然發現網頁正常了,能夠自動安裝並顯示了。讓我吐血啊,希望給同樣困惑的朋友一點啓示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章