MS-DOS installation compression
A pair of compression formats by Microsoft that appear on MS-DOS and early Windows (3.x) installation disks; the formats have no generally agreed-upon name. Compressed files may be generated by the COMPRESS.EXE program (appearing in Microsoft's Setup Toolkit for Visual C++), and uncompressed 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.
There are reports of the Google Chrome installer needing the EXPAND.EXE program.
Contents[hide] |
Format details
There are two major formats, which can be referred to by their file signatures: "SZDD", and "KWAJ". SZDD is more common. There is also a QBasic variant of SZDD format.
SZDD
SZDD format uses a simple form of LZSS compression. 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[1] that there is also a type "B", used by Windows 3.1 builds 026 and 034e.
KWAJ
KWAJ format is somewhat more sophisticated than SZDD. There is a 16-bit field at offset 8 that specifies the compression or encoding method.
Compression code | Description |
---|---|
0 | Uncompressed |
1 | XOR |
2 | LZSS |
3 | LZSS + Huffman |
4 | MS-ZIP |
Identification
File begin with bytes 53 5A 44 44 88 F0 27 33
("SZDD" variant), or 4B 57 41 4A 88 F0 27 D1
("KWAJ" variant), or 53 5A 20 88 F0 27 33 D1
(QBasic SZDD variant).
Software
- EXPAND.EXE - utility included with many versions of MS Windows and MS-DOS
- Setup Toolkit for Visual C++
- 7-Zip
- mscompress - msexpand
- libmspack
- Wine