决定一个人富有的三个条件,一是出身,二是运气,三是努力
If you can dream it,you can do it! Nothing Impossible~

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

将您希望包含在 .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
// 结束

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 文件:

posted on 2008-11-26 09:37  ZEKELOVE  阅读(5797)  评论(0编辑  收藏  举报