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.
This is not the only compressed file format for which the last character of the file extension might be replaced with an underscore. Others include:
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's compression format similar 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.
KWAJ format is somewhat more sophisticated than SZDD. There is a 16-bit field at offset 8 that specifies the compression or encoding method.
|3||LZ77 + Huffman|
|4||MSZIP (based on DEFLATE)|
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).
- libmspack → msexpand
- EXPAND.EXE - utility included with many versions of MS Windows and MS-DOS
- Setup Toolkit for Visual C++
- mscompress → msexpand