Compression Algorithms And Techniques In MSI
A regular Windows Installer Packages (.MSI) compresses the files and stores them in .MSI itself.
In case of huge application where they contain large number of files and occupies memory over 1GB it is not recommended to make the windows installer package self contain them. So files can be made to store in the format of .cab and placed along with the .MSI.
The procedure of how to make an .MSI store files in the CABs and also externally is explained using screens of tool Wise Package Studio.
- After capturing the installation of the package successfully, edit the .wsi file and make all the necessary changes in wherever required (Files section, registries, CA…..)
- When the whole package is ready and just before compile, go to Media option in section “Release Definition”. By default it shows “Compress files inside .MSI”.
- In Compression option dropdown menu Select the option “Compress files into external CAB files.” and set "Max Media size" to 500 MB.
When the files size exceeds 2.5 GB then compressing of files is not advisable since it makes "costing" double, as the fileset has to be uncompressed locally first, then installed. There takes also a longer installation time due to the copy and uncompress overhead.
Having the files uncompressed on your installation media means that your free disk space requirement is only the size of the install and not double the size, and the install just copies the files from the install media to the appropriate folders, saving time on decompression
- In Compression option dropdown menu Select the option “Uncompressed external files.”
But in case where application is big and the choice doesn’t include uncompressed external files then LZX compression can be used.
- In the same section “Release Definition” switch to release tab.
- In the Release Details windows under Compression type select from the dropdown menu “Maximum[LZX]”
This produces an .MSI much compressed occupying less memory than MSZIP compression.
Note: It is always a best practice to have Quick Compile turned off in the Editor options. Also delete any existing MSI and then recompile