文章編號: 176810 - 上次校閱: 2004年7月2日 - 版次: 3.2

如何以手動方式修改並重新建置 CAB 檔案

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

使用 「 Visual Basic 5.0 應用程式安裝精靈 」 建立一個網際網路元件下載安裝 」 為您的 ActiveX 控制項或 ActiveX 文件時, 您可能需要修改安裝程式精靈所建立的封包檔。

本文將告訴您,如何修改封包檔 Visual Basic 安裝精靈] 會建立,並特別示範如何從封包檔解壓縮檔以及如何重新建置 CAB 檔案。

其他相關資訊

對於散發 ActiveX 元件,您可以選擇建置一個網際網路元件下載安裝使用 Visual Basic 5 應用程式安裝精靈 」。

精靈會建立兩個金鑰的檔案: 一個 HTM 檔案 (超文字標記語言檔案,也就是 HTML 檔案)] 和 [封包檔 (封包檔,壓縮的檔案)。HTM 檔包含解壓縮並安裝封包檔中儲存的資訊所需資訊。CAB 檔案包含實際元件的 OCX、 EXE 或 DLL。

當您開啟 HTM 檔案與 [網際網路檔案總管] (IE) 時,IE 執行 <object>標記 HTML 程式碼內。以其最簡單的詞彙 <object>標記會告訴 Internet Explorer 如何安裝您的 ActiveX 元件到用戶端機器上。

下面是 <object>標記 ; 的範例
   <OBJECT ID="MyUserDocument"
   CLSID="CLSID:CB6994D4-2DCA-11D1-A9CB-00AA00B7B36F"
   CODEBASE="ActiveX.CAB#version=1,0,0,0">
   </OBJECT>
				

在 <object>標記上述,Internet Explorer 會使用 ID 和 CLSID,看看是否指定的控制項已經安裝在用戶端電腦上。如果沒有已安裝或如果它超出日期,IE 使用程式碼基底引數來找出 ActiveX.CAB 檔案來安裝 ActiveX 控制項或文件。

.CAB 檔的內容

封包檔包含壓縮很重要的安裝 ActiveX 元件的檔案。「 安裝精靈 」 會將它放在每個檔案的未壓縮的複本放入可將封包和 HTM 檔相同的位置中找到您封包檔到名為 「 支援 」 的目錄。

在所有情況下安裝精靈將至少三個檔案放置在 [支援] 資料夾:.DDF 檔案、 一個 ActiveX 元件檔 (.EXE、.DLL 或.OCX 檔案) 以及.INI 檔案。
  • .DDF: DDF 檔案就是所謂菱形指引檔案,可能會在記事本或任何文字編輯器中開啟的文字檔。[DDF 包含壓縮成封包檔的檔案時所需的特定資訊 ; DDF 檔案本身不放入封包檔。注意: 這個檔案應該不會修改除非絕對必要。
  • 元件檔案 (.EXE、.DLL 或.OCX): 您所建立的 ActiveX 元件的類型,可決定此處所包含檔案的副檔名。所有的 ActiveX 控制項有.OCX 副檔名。其他 ActiveX 元件是.EXEs 或.DLL。這個檔案是您正在安裝的 ActiveX 元件。
  • .INF: 這是什麼其他檔案的相關 ActiveX 元件而定 (相依性檔案)、 取得這些檔案複本的位置以及如何安裝這些檔案包含資訊資訊檔。

正在解壓縮封包檔的內容

若要擷取什麼是在封包檔案,您必須使用 「 解壓縮 」 公用程式。在您的 Windows 資料夾或您 Windows 95、 Windows 98、 Windows NT 或 Windows 2000 的安裝光碟片上,您可以找到 Extract.Exe。

Extract.Exe 是命令列公用程式 ; 因此,它會使用從 MS-DOS 命令提示字元。若要解壓縮封包檔內的檔案,務必 Extract.Exe 公用程式是在 MS-DOS 路徑,或是將解壓縮公用程式複製至封包檔相同的資料夾。

您可以從 MS-DOS 命令提示字元執行下列命令,將所有 CAB 檔案的檔案解壓縮到目前的目錄:
解壓縮 ActiveX.CAB * *
其中 ActiveX.CAB 」 是封包檔的名稱。

如需有關使用 Extract.Exe 公用程式的詳細資訊,您可能在 MS-DOS 命令提示字元輸入下列命令:
解壓縮 /?
如需 Extract.Exe 的更詳細資訊,請參閱 ActiveX SDK 文件如本文 < 參考 > 一節中所參考。

重新建置 CAB 檔案

一旦您已擷取一個封包內的檔案,您可以進行修改後繼續手動重建封包檔。

若要重新建置 CAB 檔案,您必須使用船 MakeCab.Exe 公用程式與 Visual Basic。在下列目錄中的預設安裝 MakeCab 公用程式:
C:\Program Files\DevStudio\Vb\setupkit\kitfil32
它可能也在 Visual Basic 5.0 安裝光碟片下列目錄中找到:
\VB\Setupkit\Kitfil32
若要重建封包檔,放置任何修改檔案和原始.DDF 檔案到單一的資料夾。而且,請確定 MakeCab.Exe 公用程式是在 MS-DOS 路徑,或將它複製到 [.DDF 為相同的資料夾。

從命令提示字元中輸入下列命令:
MakeCab/F ActiveX.DDF
其中 ActiveX.DDF 」 是.DDF 檔案的名稱。

如需有關 「 MakeCab 」 公用程式的詳細資訊,您可能會使用"/?"參數,或參閱 ActiveX SDK 文件,如本文 < 參考 > 一節中所參考。

備忘稿上重建封包檔

通常,它不應該需要修改封包檔內的檔案。不過,情況中可能遇到您需要執行這項操作。在修改封包檔時請使用下列指導方針,以避免發生問題:
  1. 永遠不會新增或移除封包檔中的檔案。只有應該在封包檔的檔案是由應用程式安裝精靈加入。如果您需要新增或移除封包檔的檔案,重新執行應用程式安裝精靈]。否則,您必須修改 [.DDF 檔案。
  2. 如果您修改 INF 檔案,要確定您所做的變更語法正確,而且不包含錯誤。更多有關修改 INF 檔案的資訊,請參閱 ActiveX SDK 本文參考一節中。INF 檔案的問題可能會導致不想要的行為,當元件嘗試下載。
  3. 您不應該以任何方式修改 ActiveX 元件 (.OCX、.EXE 或.DLL)。如果您覺得需要修改 ActiveX 元件,請重建使用應用程式安裝精靈 」 的封包檔。

?考

如需有關如何使用 [Extract.exe 和 MakeCab.exe 檔案以及如何修改.ddf 或.inf 檔案參閱 ActiveX 軟體開發套件 (SDK)。

這篇文章中的資訊適用於:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
關鍵字:?
kbmt kbhowto KB176810 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:176810? (http://support.microsoft.com/kb/176810/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
Retired KB Article依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。