使用 MakeCAB.exe创建CAB文件

MakeCAB.exe是Windows2000或更高版本中随附的工具。要使用MakeCAB.exe来创建.cab文件,请执行以下步骤:

为makecab.exe创建一个定向文件,然后以.ddf扩展名保存该文件。下面的示例定向文件(名为sample.ddf)为一个简单的Web部件库项目创建了一个.cab文件:

;***SampleSourceCodeMakeCABDirectivefileexample
;
.OPTIONEXPLICIT;Generateerrors
.SetCabinetNameTemplate=SampleCab.cab
.setDiskDirectoryTemplate=CDROM;Allcabinetsgoinasingledirectory
.SetCompressionType=MSZIP;**Allfilesarecompressedincabinetfiles
.SetUniqueFiles="OFF"
.SetCabinet=on
.SetDiskDirectory1=SAMPLECAB.CAB
manifest.xml
WebPart1.dwp
WebPartLibrary1.dll
;***<theend>

将您希望包含在.cab文件中的所有文件复制到创建.ddf文件的目录中。在本例中,这些文件是Manifest.xml文件、WebPart1.dwp文件和WebPartLibrary1.dll文件。

打开一个命令提示符,转到包含.ddf文件以及您希望包含在.cab文件中的文件的目录,然后运行以下命令:

Makecab.exe/Fsample.ddf


MakeCAB.exe创建一个名为SAMPLECAB.CAB的目录,然后在该目录中创建一个名为SampleCab.cab的.cab文件,其中包含Sample.ddf定向文件中列出的三个文件。

有关MakeCAB.exe的详细信息,请下载MicrosoftCabinetSoftwareDevelopmentKit。

用本地化资源创建CAB文件
VisualStudio 不支持创建包含内部目录的.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文件:

<?xmlversion="1.0"encoding="utf-8"?>

<WebPartManifest
xmlns="http://schemas.microsoft.com/WebPart/v2/Manifest">
<Assemblies>
<AssemblyFileName="SampleWebPartLibrary.dll">
<ClassResources>
<ClassResourceFileName="image1.gif"/>
<ClassResourceFileName="help.htm"/>
<ClassResourceFileName="de-DE/image1.gif"/>
<ClassResourceFileName="de-DE/help.htm"/>
</ClassResources>
<SafeControls>
<SafeControlNamespace="SampleWebPartLibrary"
TypeName="*"/>
</SafeControls>
</Assembly>
</Assemblies>
<DwpFiles>
<DwpFileFileName="WebPart1.dwp"/>
<DwpFileFileName="de-DE/WebPart1.dwp"/>
</DwpFiles>
</WebPartManifest>


2.
创建适当的Makecab.exe定向文件。下面的示例显示Sample.cab文件的定向文件:

;***SampleSourceCodeMakeCABDirectivefileexample
;
.OPTIONEXPLICIT;Generateerrors
.SetCabinetNameTemplate=Sample.cab
.setDiskDirectoryTemplate=CDROM;Allcabinetsgoinasingle
directory
.SetCompressionType=MSZIP;**Allfilesarecompressedincabinet
files
.SetUniqueFiles="OFF"
.SetCabinet=on
.SetDiskDirectory1=SAMPLE.CAB
manifest.xml
WebPart1.dwp
SampleWebPartLibrary.dll
Image1.gif
help.htm
SetDestinationDir=de-DE
de-DE/WebPart1.dwp
de-DE/image1.gif
de-DE/help.htm
;***<theend>


3.
将您希望包含在.cab文件中的所有文件复制到创建.ddf文件的目录中,并将所有的本地化资源复制到相应的子目录中。下面的示例显示Sample.cab文件的目录结构:

/Directorywithdirectivefile
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/Fsample.ddf

你可能感兴趣的:(Make)