Now I explain what are the types of compressed files that it support (using Windows 7).
The expand.exe decompress any CABINET file (it are files with the extension .cab or for example with a extension that end with underscore, example: .ex_).
This files internally begin with a header that says:
Code: Select all
MSCF
The cabinet files can be compressed with these type of compression:
Code: Select all
MSZIP
LZX
QUANTUM
NONE
You can expand any cabinet files with all these types of compression.
For example, currently you cannot make a cabinet file using QUANTUM or NONE compression with the utility makecab.exe or compress.exe, but you can expand or decompress it with the Expand.exe. Makecab.exe and Compress.exe lost support for it compression types, but not Expand.exe (since version 5 from windows 2000).
This is good, because in some cases you get smaller files using QUANTUM compression than MSZIP or LZX. Then if you create a cabinet files with these compression, you can expand it anyways. You not get a message like: The compression type of the file is not supported.
Now, how I can use these types of compression? All examples if you have a file called file.ext
MSZIP: makecab.exe, compress.exe
Code: Select all
Makecab.exe file.ext file.ex_
Makecab.exe /D CompressionType=MSZIP file.ext file.ex_
Compress.exe -Z file.ext file.ex_
LZX: makecab.exe, compress.exe (version 5.2.3790.0)
memory: 15 to 21.
Code: Select all
Makecab.exe /D CompressionType=LZX /D CompressionMemory=15 file.ext file.ex_
Makecab.exe /D CompressionType=LZX /D CompressionMemory=16 file.ext file.ex_
Makecab.exe /D CompressionType=LZX /D CompressionMemory=17 file.ext file.ex_
Makecab.exe /D CompressionType=LZX /D CompressionMemory=18 file.ext file.ex_
Makecab.exe /D CompressionType=LZX /D CompressionMemory=19 file.ext file.ex_
Makecab.exe /D CompressionType=LZX /D CompressionMemory=20 file.ext file.ex_
Makecab.exe /D CompressionType=LZX /D CompressionMemory=21 file.ext file.ex_
Compress.exe -ZX file.ext file.ex_
QUANTUM: old compress.exe (version 5.00.2134.1)
levels: 1 to 7.
Code: Select all
Compress.exe -zq1 file.ext file.ex_
Compress.exe -zq2 file.ext file.ex_
Compress.exe -zq3 file.ext file.ex_
Compress.exe -zq4 file.ext file.ex_
Compress.exe -zq5 file.ext file.ex_
Compress.exe -zq6 file.ext file.ex_
Compress.exe -zq7 file.ext file.ex_
NONE: makecab.exe, cabarc.exe (version 1.00.0601)
Code: Select all
Makecab.exe /D Compress=Off file.ext file.ex_
Cabarc.exe -m NONE N file.ex_ file.ext
When I make a cabinet file I test all these compression and I use the better (that generate the smallest file). For example, in larger files almost always is best the LZX compression, but in small files sometimes is better MSZIP or QUANTUM. For example I have a small executable of 1186 bytes.
Using best Quantum I get 389 bytes
Using MSZIP I get 423 bytes
Using best LZX I get 471 bytes
Using NONE I get 1267 bytes
But in larger files almost always is best the LZX. The trick is test all these compression types, Expand.exe (since version 5 from windows 2000) support all. Note: Expand version 2.5 from windows nt NOT support LZX, but yes MSZIP, QUANTUM and NONE.