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 文件:
作者:zeke
出处:http://zhf.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。