Cabinet 文件

Cabinet 是单个文件,通常带有 .cab 扩展名,将压缩文件存储在文件库中。 Cabinet 格式是一种高效的打包多个文件的方式,因为压缩是跨文件边界进行的,大大提高了压缩率。

开发人员可以使用 Makecab.exe 之类的 Cabinet 文件创建工具来制作与安装程序包配合使用的 Cabinet 文件。 Makecab.exe 实用工具包含在适用于 Windows Installer 开发人员的 Windows SDK 组件中。

开发人员还可以使用 Cabarc.exe 之类的 Cabinet 文件创建工具来制作与安装程序包配合使用的 Cabinet 文件。 此工具可将数据写入 Diamond Cabinet 结构。

存储在 Cabinet 文件中的文件的文件密钥必须与 File 表的 File 列中的条目相匹配,并且 Cabinet 中文件的顺序必须与 Sequence 列中指定的文件顺序相匹配。 有关详细信息,请参阅使用 Cabinet 文件和压缩源

大型文件可以拆分为两个或多个文件。 跨到下一个 Cabinet 文件的任何 Cabinet 文件中都不能超过 15 个文件。 例如,如果你有三个 Cabinet 文件,则第一个 Cabinet 可以有 15 个文件跨到第二个 Cabinet 文件,第二个 Cabinet 文件可以有 15 个文件跨到第三个 Cabinet 文件。

安装程序会根据安装需要从 Cabinet 中提取文件,并按照它们在 Cabinet 文件中的存储顺序安装它们。 安装存储在 Cabinet 中的文件的空间要求与安装未压缩文件的空间要求没有什么不同。

Cabinet 文件可以位于 .msi 文件的内部或外部。 从在 Windows 7 或 Windows Server 2008 R2 上运行的 Windows Installer 5.0 开始,安装程序会在缓存安装包之前保存嵌入 .msi 文件中的任何 Cabinet。

Windows Installer 4.5 或更低版本:为了节省磁盘空间,安装程序会在将安装包缓存到用户计算机上之前,始终删除嵌入 .msi 文件中的所有 Cabinet。