[left]MSI + other software installers - Code and Utilities
MSI is a way to install Windows software.
MSI is a free database program.
MSI is a handy tool for scripters.
A few years ago Microsoft developed a new system for installing software onto Windows. The system is referred to as "Windows Installer".
Software installed by Windows Installer comes packaged in a file with the extension ".msi".(Sometimes the MSI file is packaged inside an
EXE file.) For the purposes of this webpage, Windows Installer and MSI are defined separately, with MSI being the database and object
model, while "Windows Installer" refers only to Microsoft's use of MSI files for software installation.
An MSI file is actually an SQL database. A scriptable object provided by msiexec.exe (the WindowsInstaller.Installer object) is really
a simple SQL "engine", offering an extensive set of functions for accessing and manipulating an MSI database.
Windows Installer (WI) refers to using MSI database files as the "housing" for a software installation. An MSI file used to install software
through WI contains the software install settings and usually contains the software itself, packed inside the MSI. Unfortunately, the Windows
Installer system is extremely - even bizarrely - complex. It uses an MSI database that contains approximately 80 tables, with extensive
cross-referencing between the various columns of those tables. The structure of MSI databases, when they are used as Windows Installer installation
files, is so complex, convoluted and poorly designed, with data so heavily cross-referenced - and the available tools are so limited - that few
software developers using WI actually create their own installation files.
It's a rather absurd situation: Microsoft created a comprehensive software installation system for Windows, which should have simplified the process.
The Windows Installer system is supposed to be doing all of the "heavy lifting". So there's no reason that people should need anything more than an INI file
to create a full-featured installer. Yet instead of making software installation easier, Windows Installer has made it far more complex. Software developers
end up needing other, specialized software developers... to write special software... that makes sense of Microsoft's installer software... in order to produce
specialized software... to install their software.
The situation has become so ridiculous that Acresso Software, the makers of InstallShield, are able to charge $2,000+- for their InstallShield 2010, and
the installer for InstallShield itself is about 170 MB! Presumably that ends up being about 1/2 GB of absurdly overpriced software, once the 170 MB package
has been installed on-disk... just to build MSI packages for installing software.
Perhaps Microsoft deliberately made a mess of Windows Installer so that InstallShield, Wise and other 3rd-party companies could stay in business. After all,
if Microsoft had created a simple, intuitive and functional system for installing software onto Windows then no one would have any reason to pay for 3rd-party
installer software, and that might leave Microsoft open to more lawsuits.
Whatever the real story is behind the design of the Windows Installer system, as you may have guessed by this point, the downloads and information here are not
intended to help anyone use the Windows Installer system to build a software installer.
jsMSIx
jsMSIx.exe - Simple MSI/MSM Unpacker Program
jsMSIx.exe is a small program with no installation required and no extra files needed other than normal system files that are pre-installed on
nearly all Windows PCs. No muss, no fuss. Just run jsMSIx.exe, browse for an MSI file, and unpack it. jsMSIx.exe can also provide MSI information,
listing files and Registry settings in the MSI without unpacking it. This is the most convenient unpacker for non-technical people. It can be used as
a normal Windows program or as a command-line utility.
For Linux: jsMSIx.exe is probably the best option for people using Linux because it does not require support for VBScript, Internet Explorer, or COM libraries.
Everything is built into a single, small standalone program. It also has simple command line functionality to unpack an MSI and optionally select the destination
folder for unpacking. The only notable dependencies are cabinet.dll, msvbvm60.dll and msi.dll. Those files are all pre-installed on virtually all Windows PCs and should
all be installable (or have native versions) through WINE.
(Update info.: The update of 11/21/2010 fixes a code typo. that could cause the program to crash in some cases when using the option to "Get MSI Info.".)
There are also unpack infos about lotza known software installers ,)