Cabinet Files

A cabinet is a single file, usually with a .cab extension, that stores compressed files in a file library. The cabinet format is an efficient way to package multiple files because compression is performed across file boundaries, which significantly improves the compression ratio.

Developers can use a cabinet file creation tool such as Makecab.exe to make cabinet files for use with installer packages. The Makecab.exe utility is included in the Windows SDK Components for Windows Installer Developers.

Developers can also use a cabinet file creation tool such as Cabarc.exe to make cabinet files for use with installer packages. This tool writes to the Diamond cabinet structure.

The file keys of the files stored inside of a cabinet file must match the entries in the File column of the File table and the sequence of files in the cabinet must match the file sequence specified in the Sequence column. For more information, see Using Cabinets and Compressed Sources.

Large files can be split between two or more cabinet files. There can be no more than 15 files in any one cabinet file that spans to the next cabinet file. For example, if you have three cabinet files the first cabinet can have 15 files that span to the second cabinet file and the second cabinet file can have 15 files that span to the third cabinet file.

A cabinet file can be located inside or outside of the .msi file. To conserve disk space, the installer always removes any cabinets that are embedded in the .msi file before caching the installation package on the user's computer.

The installer extracts files from a cabinet as they are needed by the installation and installs them in the same order as they are stored in the cabinet file. The space requirements for installing a file stored in a cabinet are no different than for installing an uncompressed file.

Send comments about this topic to Microsoft

Build date: 11/12/2009

Tags :


Community Content

Microspike
Obtaining makeCAB.exe
Since at least Windows 2000 makeCAB.exe seems to be included with the system.

The bigger issue is finding documentation describing the directive file format. This is provided in MAKECAB.DOC which comes with the
Microsoft Cabinet Software Development Kit which can be downloaded from http://support.microsoft.com/default.aspx/kb/310618

Tags :

jens_ulrik
Online version of MAKECAB.DOC (and the other DOC-files in cabsdk.exe)
Online documentation:
Compression Technology -Microsoft Cabinet Format
http://msdn2.microsoft.com/en-us/library/bb267310.aspx

Tags : cab cabinet ddf

Robert Flaming - MSFT
Cabinet API Documentation
The Cabinet API documentation is at http://msdn.microsoft.com/en-us/library/bb432569(VS.85).aspx
Tags :

Cabinet Files
Microsoft Cabinet SDK Topic and Download
The MSDN topic for the Microsoft Cabinet SDK is at http://msdn.microsoft.com/en-us/library/ms974336.aspx
The download for the Microsoft Cabinet SDK is at http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/cabsdk.exe
Tags :

Robert Flaming - MSFT
Cabinet Documentation from SetupAPI Section of MSDN
The SetupAPI section of MSDN also contains some cabinet documentation: http://msdn.microsoft.com/en-us/library/aa376906.aspx
Tags :

Page view tracker