使用 MakeCAB.exe創建CAB文件

使用 MakeCAB.exe創建CAB文件

MakeCAB.exe 是 Windows 2000 或更高版本中隨附的工具。要使用 MakeCAB.exe 來創建 .cab 文件,請執行以下步驟:

爲 makecab.exe 創建一個定向文件,然後以 .ddf 擴展名保存該文件。下面的示例定向文件(名爲 sample.ddf)爲一個簡單的 Web 部件庫項目創建了一個 .cab 文件

;*** Sample Source Code MakeCAB Directive file example
;
.OPTION EXPLICIT ; Generate errors
.Set CabinetNameTemplate=SampleCab.cab
.set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory
.Set CompressionType=MSZIP;** All files are compressed in cabinet files
.Set UniqueFiles="OFF"
.Set Cabinet=on
.Set DiskDirectory1=SAMPLECAB.CAB
manifest.xml
WebPart1.dwp
WebPartLibrary1.dll
;*** <the end>

將您希望包含在 .cab 文件中的所有文件複製到創建 .ddf 文件的目錄中。在本例中,這些文件是 Manifest.xml 文件、WebPart1.dwp 文件和 WebPartLibrary1.dll 文件

打開一個命令提示符,轉到包含 .ddf 文件以及您希望包含在 .cab 文件中的文件的目錄,然後運行以下命令:

Makecab.exe /F sample.ddf


MakeCAB.exe 創建一個名爲 SAMPLECAB.CAB 的目錄,然後在該目錄中創建一個名爲 SampleCab.cab 的 .cab 文件,其中包含 Sample.ddf 定向文件中列出的三個文件

有關 MakeCAB.exe 的詳細信息,請下載 Microsoft Cabinet Software Development Kit。

用本地化資源創建 CAB 文件
Visual Studio   不支持創建包含內部目錄的 .cab 文件。但是,本地化的 Web 部件可能需要一個包含內部目錄的 .cab 文件。因此,您必須使用一個   MakeCAB.exe 之類的工具或其他第三方 CAB 實用工具來部署本地化的 Web 部件。

下面的示例描述如何爲一個名爲 SampleWebPartLibrary 的英語 Web 部件項目(該項目同時還提供德語本地化資源)創建 .cab 文件。本例中的 .cab 文件名爲 Sample.cab,它必須包含下列文件

SampleWebPartLibrary.dll

Help.htm

Image1.gif

WebPart1.dwp

de-DE/Help.htm

de-DE/Image1.gif

de-DE/WebPart1.dwp


要爲該示例 Web 部件項目創建 .cab 文件,請執行以下步驟:

1.
創建適當的 Manifest.xml 文件。下面的示例顯示 Sample.cab 文件的 Manifest.xml 文件

<?xml version="1.0" encoding="utf-8" ?>

<WebPartManifest
   xmlns="http://schemas.microsoft.com/WebPart/v2/Manifest">
    <Assemblies>
       <Assembly FileName="SampleWebPartLibrary.dll">
          <ClassResources>
             <ClassResource FileName="image1.gif"/>
             <ClassResource FileName="help.htm"/>
             <ClassResource FileName="de-DE/image1.gif"/>
             <ClassResource FileName="de-DE/help.htm"/>
          </ClassResources>
          <SafeControls>
             <SafeControl Namespace="SampleWebPartLibrary"
               TypeName="*"/>
          </SafeControls>
       </Assembly>
    </Assemblies>      
    <DwpFiles>
       <DwpFile FileName="WebPart1.dwp"/>
       <DwpFile FileName="de-DE/WebPart1.dwp"/>
    </DwpFiles>
</WebPartManifest>


2.
創建適當的 Makecab.exe 定向文件。下面的示例顯示 Sample.cab 文件的定向文件

;*** Sample Source Code MakeCAB Directive file example
;
.OPTION EXPLICIT ; Generate errors
.Set CabinetNameTemplate=Sample.cab    
.set DiskDirectoryTemplate=CDROM ; All cabinets go in a single
   directory
.Set CompressionType=MSZIP ;** All files are compressed in cabinet
   files
.Set UniqueFiles="OFF"
.Set Cabinet=on
.Set DiskDirectory1=SAMPLE.CAB
manifest.xml
WebPart1.dwp
SampleWebPartLibrary.dll
Image1.gif
help.htm
Set DestinationDir=de-DE
de-DE/WebPart1.dwp
de-DE/image1.gif
de-DE/help.htm
;*** <the end>


3.
將您希望包含在 .cab 文件中的所有文件複製到創建 .ddf 文件的目錄中,並將所有的本地化資源複製到相應的子目錄中。下面的示例顯示 Sample.cab 文件的目錄結構:

/Directory with directive file
               Sample.ddf
               Manifest.xml
               SampleWebPartLibrary.dll
               WebPart1.dwp
               Image1.gif
               Help.htm
               /de-DE
                         WebPart1.dwp
                         Image1.gif
                         Help.htm


4.
打開一個命令提示符,轉到包含 .ddf 文件以及您希望包含在 .cab 文件中的文件的目錄,然後運行以下命令,以便在 Sample.cab 文件創建一個子目錄,併爲部署準備 Sample.cab 文件

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