zoukankan      html  css  js  c++  java
  • 使用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

    将您希望包含在 .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 文件:

  • 相关阅读:
    Nginx创建密码保护目录
    Android:Field can be converted to a local varible.
    创建用户故事地图(User Story Mapping)的8个步骤
    用户故事地图(User Story Mapping)之初体验
    Android必知必会--GreenDao缓存
    Windows下多线程数据同步互斥的有关知识
    OpenCV3.0 3.1版本的改进
    利用OpenCV的人脸检测给头像带上圣诞帽
    一些关于并行计算的科研思路
    Java中httpClient中三种超时设置
  • 原文地址:https://www.cnblogs.com/ZHF/p/1341150.html
Copyright © 2011-2022 走看看