
MakeCAB是微软提供的制作CAB的文件,详细的MakeCAB介绍请参考微软MSDN。
正好这几天做的一个WEB ActiveX SIP Phone需要打包成.CAB文件,于是稍微研究了一下MakeCAB的用法。
直接运行MakeCAB,系统给出命令用法如下:
C:Documents and SettingsSunDesktopwebsipp>makecab
Microsoft (R) Cabinet Maker - Version 5.1.2600.2180
Copyright (c) Microsoft Corporation. All rights reserved..
MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]
source File to compress.
destination File name to give compressed file. If omitted, the
last character of the source file name is replaced
with an underscore (_) and used as the destination.
/F directives A file with MakeCAB directives (may be repeated).
/D var=value Defines variable with specified value.
/L dir Location to place destination (default is current directory).
/V[n] Verbosity level (1..3).
如果目录里面有多个文件,那么就需要编写一个文件列表文件,用来告诉MakeCAB,有多少文件需要打包。
简单的编写了一个list.txt文件,里面仅仅包含2行。一个是libactivex.inf,一个libactivex.dll
然后执行:
makecab /F list.txt /D compressiontype=lzx /D compressionmemory=21 /V
系统将显示压缩过程和压缩结果,如下:
Microsoft (R) Cabinet Maker - Version 5.1.2600.2180
Copyright (c) Microsoft Corporation. All rights reserved..
287,395 bytes in 2 files
Total files: 2
Bytes before: 287,395
Bytes after: 162,170
After/Before: 56.43% compression
Time: 0.74 seconds ( 0 hr 0 min 0.74 sec)
Throughput: 378.76 Kb/second
压缩之后,目录下将生成一个目录,将目录里面的文件改名成libactivex.cab(可以是你需要的文件名)就OK了。
然后就可以放到WEB服务器的目录下,IE打开的时候就会提示下载了。
附:INF的生成方法将在以后介绍。
其实,还有2个办法生成CAB文件,一个就是利用Visual Studio,另外一个就是利用专门的打包工具,可以google一下。
===========
---
makecab.exe 的簡單用法
如果說makecab是指令行操作-----那麽iexpress就是gui操作了。
|
2.makecab批量压缩:---只好用間接的方法了, for %v in (*.*) do makecab %v
批量壓縮在同一個cab:
需要製作出一個列表,然後再來用 /f 來配合.
=====
=================
makecab 的使用方法详解与技巧 :
最简单的用法:
makecab 文件完整的名称 如 makecab wmd.dll
指定压缩类型及使用内存的大小:
makecab /d compressiontype=lzx /d compressionmemory=21 wmd.dll 压缩比高
批量压缩的办法:
for %v in (*.*) do makecab %v
之前俺研究了好久,都不知道怎么用一条命令将一个目录下的所有文件压缩成CAB包,现在终于知道了,呵
压缩成一个CAB包的办法:
type list.txt (生成一个文件列表)
makecab /f list.txt /d compressiontype=mszip /d compressionmemory=21 /d maxdisksize=1024000000 /d diskdirectorytemplate=dd* /d cabinetnametemplate=dd*.cab
来个高压缩比的。呵
makecab /f list.txt /d compressiontype=lzx /d compressionmemory=21 /d maxdisksize=1024000000 /d diskdirectorytemplate=dd* /d cabinetnametemplate=dd*.cab
这儿的list.txt里面是文件的列表,如果是相对路径那么要放到要压缩的文件夹中,如果是绝对路径就可以放到任何地方喽!
==============================
windows 自带工具制作压缩文件:
到制作自解压文件,很多朋友都会立刻想到一些著名的压缩软件。其实如果你的操作系统是Windows XP话,大可不必这么折腾,因为Windows XP已经为我们准备了一个好用的自解压文件制作工具了。
打开“开始”菜单,在“运行”对话框中输入iexpress,即可打开“IExpress Wizard”界面(如图1)。
用Win XP自带工具制作自解压文件
1. 首先,该工具提示我们要为此自解压文件创建一个管理文件来保存自解压程序的相关信息。选择“Create new Self Extraction Directive file”即可。如果相关的信息文件已经存在,那么应选“Open existing Self Extraction Directive file”项,并使用“Browse”按钮来找到此文件。

2. 点击“下一步”后,进入压缩文件类型选择界面(如图2)。这里面共有三个选项:①Extract files and run an installation command(创建一个安装程序);②Extract files only(创建一个普通的自解压文件);③Create compressed files only(创建一个不具备自解压功能的CAB压缩文件)。我们应该选择第二项。

3. 点击“下一步”,进入“Package title”界面,在这里程序要求我们输入解压缩包时所有对话窗口的标题栏上所显示的文字,你可以任意输入。
4. 如果你要用该工具制作安装程序的话,那么在接下来的“Confirmation prompt”和“License agreement”界面里你就可以填入提示信息和授权协议。由于我们是制作自解压程序所以不必填写,略过即可。
5. 在“Package file”对话框里,点击“Add”按钮,将要压缩的文件添加到列表框中。如果想移除某个文件,点击“Remove”按钮即可。设置好后,点击“下一步” 进入“Show windows”界面选择解压包时程序窗口的状态。这里有四个选项,即“Default”(默认)、“Hidden”(隐藏)、“Minimized” (最小化)和“Maximized”(最大化)。选择默认即可。
6. 在“Finished message”界面里选择“Display message”项,可以为你的自解压包设置一个结束信息。如“文件已经成功解压”等等(如图3)。

7. 进入“Package Name and Options”界面输入压缩包存放的地址以及名称(如图4)。如果不想在自解压时看到解压进度条,可以将“Hidden File Extracting Progress Animation from User”项选中;如果想要创建的程序包支持长文件名,可将“Store files using Long File Name inside Package”项选中。

8. 最后,程序会在“Save Self Extraction Directive”界面中提示我们将上面输入的信息保存起来,以便下次再创建同类压缩包时不重复输入。选择“Save Self Extraction Directive file”项,程序在默认情况下会将信息文件以SED格式保存到压缩包所在的文件夹中。点击“下一步”,然后稍等片刻,一个自解压文件就创建完成了。