While I'm waiting for the umpteenth time for the installation of Windows SDK - one of the more poorly written installers recently to come out of Microsoft - I'd like to carp a bit about Windows Installer.
Ever since Microsoft started forcing MSI installation down everyone's throats, program installation has just begun to take... forever.
The bad thing about Windows Installer is that installation programs written for it... are not programs.
They are databases.
It used to be that installation would consist of a program executing and taking a few simple steps to install your software, then do the reverse on uninstallation.
That's not how Windows Installer works. Instead of running a program to simply install and let it be done with, it examines the state of your system, then examines the state of the database that is the program's installer, then does a series of overcomplicated calculations about how to reconcile the two.
It seems that, instead of running an installation script, it goes about solving a traveling salesman problem. Which is why it runs so slow. Or at least, that's my impression.
Microsoft apparently thinks that Windows Installer is some immense improvement on the state of the world. Apparently, all kinds of idiot programmers were writing bad installers before MSI - programs that didn't properly take everything into account, botched the installation, botched the uninstallation... it was a nightmare. Windows Installer was supposed to solve this.
Except, it didn't. Writing an installation database for Windows Installer is no less tricky than writing an independent program that performs the installation right. In fact - it's trickier. In your own installation program, you can fix things. When Windows Installer does something wrong, on some platform, somewhere - that's much harder. Windows Installer is a more inconsistent, less reliable, less flexible platform, than Windows itself.
So we used to have unreliable installers, but now, thanks to Windows Installer, we have unreliable and god damn slow installers.
Yayyyy!
Showing 6 out of 6 comments, oldest first:
Comment on Jul 28, 2009 at 18:25 by Reto
Comment on Jan 26, 2010 at 19:00 by Unknown
Don't even get me started on the stupidity of prerequisites.
Is there a movement where a reasonable technology is being provided as an alternative?
Comment on Jan 31, 2010 at 00:29 by denisbider
We have our own installer library in C++, and our own general-purpose uninstaller.
Our software installs vastly faster than the vast majority of installers that use MSI. Problems are largely nonexistent, and when they do happen, we can actually fix them reliably because we have full control of the code.
Comment on Aug 24, 2010 at 18:06 by John Byrd
Comment on Sep 29, 2010 at 16:11 by commenter
Comment on Feb 7, 2014 at 16:55 by Robin J.