Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 710
Jader Dias Avatar asked Feb 25 '23 19:02

Jader Dias


1 Answers

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:

  • How can I compare the content of two (or more) MSI files?
  • What is the purpose of administrative installation initiated using msiexec /a?
  • http://wixtoolset.org/documentation/manual/v3/xsd/wix/media.html
  • Msi two times larger than msm
like image 88
Stein Åsmul Avatar answered Mar 04 '23 23:03

Stein Åsmul