InstallShield 的数据包一般格式为 data1.cab,同时有一个 data1.hdr,用于描述文件分组定义,如果文件较多,还会存在一个 data2.cab ,实际上是分卷压缩包。

ISCAB 6.0 以下的版本可以使用 ZIPSCAN 解压,也可以使用 WinPack 进行文件的提取和替换、添加。

高版本的 ISCAB 可使用 InstallShield 中提供的命令行工具进行操作,以InstallShield X为例,安装InstallShield X后,从安装目录下的.\system中提取以下文件:

代码 (双击代码复制到粘贴板)ISCAB.exe
ISTools.dll
MediaBuild40.dll

之后可以脱离 InstallShield 运行。

·首先要提取安装包结构信息,使用命令行

ISCAB data1.cab -lx -iCAB.INI

将信息输出到 CAB.INI 文件,大致如以下的格式:
代码 (双击代码复制到粘贴板)[ISCAB Info]
Product=ISCAB
Version=2.0

[Dat Files]
File1=”Setup.dll”

·如果要从包中移除某些文件或者替换文件(也要先移除,然后再重新加入),应编辑导出的 CAB.INI 文件,仅保留头部描述段([ISCAB Info])和要移除的文件描述(注意,文件所在的组描述应保留,如 [Dat Files]),将编辑后的文件另存为 DEL.INI,使用命令行

ISCAB data1.cab -r -iDEL.INI

·如果要向包中添加文件,应将相应文件放置在当前目录下,同时和 data1.cab 同目录下的 setup.inx,setup.ini 等文件都必须存在。编辑导出的 CAB.INI 文件,仅保留头部描述段([ISCAB Info])和要加入的文件描述(注意,文件所在的组描述应保留,如 [Dat Files]),将编辑后的文件另存为 ADD.INI,使用命令行

ISCAB data1.cab -a -iADD.INI

好了,安装文件打包完成了,就像“原装”的一样,简单吧?