Jump to content

- - - - -

MSI installers (aka the crapified crap)

  • Please log in to reply
No replies to this topic

#1 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15530 posts
  • Location:The Outside of the Asylum (gate is closed)

Posted 23 January 2010 - 04:20 PM


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.

Who can use the downloads on this page?
The code here is composed of VBScripts and scripted DHTML webpage utilities. There is no compiled code (with the exception of the utility used to extract files from Windows Installer CABs). It is all simple text: VBScript, HTML and CSS. The downloads here are especially designed for use by VBScripters and/or people working with Windows Installer. But you don't have to know VBScript, HTML, or CSS. The MSI unpacker and editor, and the zip code utility, are interactive webpage programs that might be useful to almost anyone.

If you are familiar with VBScript, you can use the free utilities here for your own purposes in working with MSI files, or use them as code samples for guidance in using the MSI object model. Since these programs are composed of simple text, they can also be altered and new functionality can be added as necessary.



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users