Cabinet (file format)
| Filename extension | .cab |
|---|---|
| Internet media type | application/vnd.ms-cab-compressed |
| Uniform Type Identifier | public.archive.cab |
| UTI conforms to | public.data public.archive |
| Developed by | Microsoft |
| Type of format | Data compression |
CAB is a computer file extension (suffix) representing the Microsoft Windows compressed archive format. It is used for compression and digital signing by a variety of Microsoft installation programs: Setup API, Device Installer, AdvPack (for the installation of ActiveX components from Internet Explorer) and Windows Installer. Files with extension .CAB are known as "Cabinet" files. Cabinet files were known originally as Diamond files.
The CAB file format allows for three data compression methods:
- DEFLATE, invented by Phil Katz, the author of the ZIP file format.
- Quantum compression, licensed from David Stafford, the author of the Quantum archiver.
- LZX, invented by Jonathan Forbes and Tomi Poutanen, given to Microsoft when Forbes joined the company.
Usually CAB files include one or more files and can also reserve empty space in the file-header for some specific uses like establishing digital signatures or arbitrary data.
CAB files are also often associated with self-extracting programs where the executable program extracts the associated CAB file. CAB files are also sometimes embedded into other files. For example, MSI files usually included one or more embedded CAB files. They can be recognized easily as Microsoft CAB files since all CAB files have a specific marker at the beginning of the file's code, identifying the file format. For Microsoft CAB files this marker is a four-letter tag MSCF.
Microsoft provides three command-line operated programs for creation and extraction of CAB files. They are MAKECAB.EXE (included within Windows and Internet Explorer program sets such as 'IEAK6.EXE', 'ie501sp2.exe', and 'orktools.msi'; also available from the SDK, see below), CABARC.EXE, and EXTRACT.EXE (included on the installation CD), respectively. Windows XP also provides the EXPAND.EXE command.
The CAB file extension is also used by many installer programs (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 for Microsoft CAB files so they are incompatible. InstallShield's format cannot be manipulated or edited with most, or possibly any, of the programs that can edit the above-mentioned file formats. However there are third-party utilities, such as Unshield, that can extract this specific proprietary format.
Microsoft Publisher has a "Pack and Go" feature that bundles a publisher document, together with all external links, into a CAB file with a .PUZ extension. These files are meant to be activated with a companion .EXE file which is distributed along with the .PUZ file. These files may be renamed and activated with any CAB file extraction program.
[edit] See also
[edit] External links
- Microsoft Cabinet SDK - updated versions of these resources are available in the Microsoft Windows SDK
- Microsoft Cabinet Format - online version of the documentation from the Microsoft Cabinet SDK
- Expand Command Reference - Windows XP Professional Product Documentation
- Cabinet Software Development Kit (CAB SDK) - downloads of all Microsoft CAB SDK versions (free)
- Diamond: A Compression and Disk Layout Tool - Microsoft documentation (saved)
- CabPack is a freeware compression program which can create cabinet files. (Last update: 28 November 2001)
- cabextract is Free Software for unpacking cabinet files in UNIX
- libmspack is an LGPL licensed, portable library for creating and extracting CAB files and other Microsoft misc. formats (creation of CAB files not implemented yet)
- LCAB - Linux cabinet file creator
- Unshield - InstallShield CAB extraction utility for UNIXs
|
||||||||||||||||||||