Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
758 views
in Technique[技术] by (71.8m points)

wix - What is the compression method used by MSI files?

I can extract a MSI file, but when I try to regenerate it from the extracted files the resulting file doesn't work.

I guess that if I changed the compression method from Deflate to another one, it would work.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

First of all: there is a script in the Windows Installer SDK called WiMakCab.vbs which is used to create *.cab files for use in MSI files. One of the lines in that script is: Dim compressType : compressType = "MSZIP"). You should probably try that script when creating the cabs.

Below is an annotated quote from http://www.gdgsoft.com/ (16.06.2014: removed direct broken link, leaving the base url):

"Microsoft Cabinet supports three lossless compression techniques: (1) storing , (2) MSZip, and (3) LZX. Within a cabinet archive file, any combination of these techniques may be used. MSZip is essentially the same as the deflation compression method used by PKZip. LZX is an LZ77-based compression technique that uses static Huffman encoding. LZX uses more memory, but can produce better compression ratios than MSZip. Stored, of course, means the file is stored into the cabinet uncompressed."

MSDN info: Microsoft Cabinet SDK and Microsoft Cabinet Format.


Some Links:


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...