CAB Format
Concepts
CAB (Cabinet) is a Microsoft archive format commonly used for software distribution and Windows system files. CAB files support multiple compression algorithms and can span multiple files.
CAB Characteristics
| Characteristic | Description |
|---|---|
File extension |
|
Magic bytes |
|
Max file size | 2 GB |
Compression | None, LZSS, MSZIP, LZX, Quantum |
Multi-part | Yes (spanned cabinets) |
Platform | Windows (primary) |
Compression Algorithms
CAB files support multiple compression methods:
-
None - Uncompressed storage
-
LZSS - Simple dictionary compression
-
MSZIP - Deflate-based (ZIP-compatible)
-
LZX - High compression ratio
-
Quantum - Memory-efficient compression
Excavate handles all compression types automatically.
Embedded CABs
CAB files are often embedded in other containers:
Salvage Mode
Excavate uses Cabriolet’s salvage mode for corrupted CAB files:
# Cabriolet handles checksum errors gracefully
# Damaged files are extracted with warnings
Excavate::Archive.new('damaged.cab').extractCommon Use Cases
Technical Details
Excavate uses the Cabriolet gem for CAB extraction:
-
Salvage mode enabled for error tolerance
-
Self-extracting archive support
-
Multi-part cabinet handling
-
All compression algorithms supported
Related Topics
-
MSI Format - CAB files in Windows Installers