MS-DOS installation compression

MS-DOS installation compression refers to a family of compressed file formats formats by Microsoft that appear on MS-DOS and early Windows (3.x) installation disks. The formats have no generally agreed-upon name. This article is primarily about the format whose files start with "SZDD". For the other formats, see Microsoft KWAJ installation compression and Microsoft SZ installation compression.

Compressed files may be generated by the COMPRESS.EXE program (appearing in Microsoft's Setup Toolkit for Visual C++), and decompressed with the EXPAND.EXE program distributed with Windows and MS-DOS. Compressed files have the last character of the file extension replaced with an underscore, or sometimes a dollar sign.

Format details
SZDD's compression format is similar, but not identical, to Okumura's LZSS. There is a byte at offset 8 that specifies the exact type of compression. Most sources say that the only known value for this byte is "A" (0x41), but some report that there is also a type "B", used by Windows 3.1 builds 026 and 034e.

Identification
An SZDD file begins with bytes.

Software

 * libmspack → msexpand (decompress only)
 * EXPAND.EXE - utility included with many versions of MS Windows and MS-DOS
 * Windows for Workgroups 3.11... → WFW311/ENG_ARA/EXPAND.EXE - File Expansion Utility v2.10 (for DOS). This version of EXPAND.EXE supports SZDD, as well as KWAJ compression types 2 and 3.
 * Setup Toolkit for Visual C++
 * 7-Zip
 * mscompress (original version) → mscompress, msexpand (compression and decompression)
 * Wine

Sample files

 * https://telparia.com/fileFormatSamples/archive/msCompress/

Links

 * Documentation in Microsoft site (archived)
 * SZDD and KWAJ formats description