Post Description
In computing, CAB is the Microsoft Windows native compressed archive format. It supports compression and digital signing, and is used in a variety of Microsoft installation engines: Setup API, Device Installer, AdvPack (for the installation of ActiveX components from Internet Explorer) and Windows Installer.
It was originally called Diamond. Its .CAB file extension and overall file format name comes from word cabinet, internally used by Microsoft tools dealing with CAB files to reference such files.
The CAB file format allows for three data compression methods:
DEFLATE, invented by Phil Katz, the author of the ZIP file format.
Quantum, licensed from David Stafford, the author of the Quantum archiver.
LZX, invented by Jonathan Forbes and Tomi Poutanen, given to Microsoft when Jonathan joined the company.
Usually CAB files contain one or more files and can also reserve empty space in the file header for some specific uses like placing digital signatures or arbitrary data.
CAB files are also often attached to self-extracting programs where the executable program extracts the attached CAB file. Also CAB files are sometimes embedded into other files. For example, MSI files usually contain one or more embedded CAB files. You can easily recognize Microsoft CAB files since all CAB files have a specific marker at the beginning of the file, identifying the file format. For Microsoft CAB files this marker is a four-letter tag MSCF.
Microsoft Windows provides two command-line tools for creation and extraction of CAB files. They are MAKECAB.EXE (included within Windows packages such as "ie501sp2.exe" and "orktools.msi"; also available from the SDK, see below) and EXTRACT.EXE (included on the installation CD), respectively.
The CAB file extension is also used in many installers (InstallShield and others), although it is not the same file format. InstallShield"s files usually use zlib for compression (see Deflate), but their headers are not the same as in Microsoft CAB files so they are incompatible. InstallShield"s format cannot be manipulated or edited with most, or possibly any, of the tools that can edit the above file formats. However there are utilities, such as Unshield, that can extract this specific proprietary format.
Comments # 0