MS-DOS installation compression
|  (→Format details) | |||
| Line 6: | Line 6: | ||
| }} | }} | ||
| 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. | 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 [http://festiva-yourchoice.blogspot.com/2010/01/expandexe-preventing-google-chrome-from.html needing the EXPAND.EXE program]. --> | |
| − | There are reports of the Google Chrome installer [http://festiva-yourchoice.blogspot.com/2010/01/expandexe-preventing-google-chrome-from.html needing the EXPAND.EXE program]. | + | |
| == See also == | == See also == | ||
| + | * [[Microsoft SZ installation compression]] | ||
| + | |||
| 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: | 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: | ||
| * [[InstallShield installer archive]] (<code>_INST32I.EX_</code>) | * [[InstallShield installer archive]] (<code>_INST32I.EX_</code>) | ||
| Line 17: | Line 18: | ||
| == Format details == | == Format details == | ||
| − | There are two major formats, which can be referred to by their file signatures: "SZDD", and "KWAJ". SZDD is more common.  | + | There are two major formats, which can be referred to by their file signatures: "SZDD", and "KWAJ". SZDD is more common. Another variant, sometimes known as "SZ", or the "QBasic variant", is covered in a separate article: [[Microsoft SZ installation compression]]. | 
| === SZDD === | === SZDD === | ||
| Line 40: | Line 41: | ||
| == Identification == | == Identification == | ||
| − | File begin with bytes {{magic|53 5A 44 44 88 F0 27 33}} ("SZDD" variant), or {{magic|4B 57 41 4A 88 F0 27 D1}} ("KWAJ"  | + | File begin with bytes {{magic|53 5A 44 44 88 F0 27 33}} ("SZDD" variant), or {{magic|4B 57 41 4A 88 F0 27 D1}} ("KWAJ" variant). | 
| == Software == | == Software == | ||
| − | * [ | + | * [https://www.cabextract.org.uk/libmspack/ libmspack] → msexpand | 
| * EXPAND.EXE - utility included with many versions of MS Windows and MS-DOS | * EXPAND.EXE - utility included with many versions of MS Windows and MS-DOS | ||
| * [ftp://ftp.microsoft.com/softlib/mslfiles/CP0982.EXE Setup Toolkit for Visual C++] | * [ftp://ftp.microsoft.com/softlib/mslfiles/CP0982.EXE Setup Toolkit for Visual C++] | ||
| Line 55: | Line 56: | ||
| == Links == | == Links == | ||
| − | * [ | + | * [https://web.archive.org/web/20160527025701/https://support.microsoft.com/en-us/kb/80751 Documentation in Microsoft site] (archived) | 
| − | * [ | + | * [https://www.cabextract.org.uk/libmspack/doc/szdd_kwaj_format.html SZDD and KWAJ formats description] | 
| [[Category:File formats with too many extensions]] | [[Category:File formats with too many extensions]] | ||
Revision as of 17:22, 20 December 2022
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.
| Contents | 
See also
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:
-  InstallShield installer archive (_INST32I.EX_)
- FTCOMP
- SQUEEZE (AJP Systems)
- CAZIP
Format details
There are two major formats, which can be referred to by their file signatures: "SZDD", and "KWAJ". SZDD is more common. Another variant, sometimes known as "SZ", or the "QBasic variant", is covered in a separate article: Microsoft SZ installation compression.
SZDD
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[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 | LZ77 + Huffman | 
| 4 | MSZIP (based on DEFLATE) | 
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).
Software
- libmspack → msexpand
- EXPAND.EXE - utility included with many versions of MS Windows and MS-DOS
- Setup Toolkit for Visual C++
- 7-Zip
- mscompress → msexpand
- Wine
- Deark

