ISWIX, LLC View Christopher Painter's profile on LinkedIn profile for Christopher Painter at Stack Overflow, Q&A for professional and enthusiast programmers

December 30, 2008

Windows Installer 10 Year Anniversary

I'm sorry that I haven't posted in awhile. Frankly I'm starting to wonder if there is actually anything new to ever talk about in the MSI world. After all, it's an aging platform SDK that has changed very little over the last 10 years. ( For example, here's a thread between Stefan Krueger (InstallSite had long been around) and Heath Stewart in what seems to be his pre-Microsoft days.)

(Interesting aside: In the above thread, Heath says he's had "Great Success" with InstallShield. Later in September 2000 you'll find threads where's promoting Wise and bashing InstallShield saying that it "sucks". Hmmm... anyways, I remember trying the InstallShield for Windows Installer back in the summer of 1999 and thinking both ISWI and MSI in general sucked. I would continue to use InstallShield 5 for the next 4 years! )

Back to my original thought: Some day soon will mark the official 10 year anniversary of Windows Installer. The problem is, I'm not sure what date exactly. I suppose it'll be Jan 27, 2009 since Wikipedia says this is the ship date of Office 2000. I was searching the usenet archives and I came across the very first thread to ever refer to windows installer on this date 10 years ago. I think you'll find it a fitting:

From: "Tom Savage"
Subject: Office 2000 install error 1601!
Date: 1998/12/30
Message-ID: #1/1
X-Deja-AN: 427080025
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Newsgroups: microsoft.public.msdn.general

Can't install the msdn version of Office 2000 on two test machines. Install
updated the Windows installer and asked me to reboot. Now it stops almost
immediately with an "install error 1601".
Could it be related to my previous installation of Frontpage 2000 B1
(removed it before the current install, but uninstall mentioned a registry
write error)? I removed all Frontpage references I could find from the
registry, and it didn't help.
Would really appreciate any help you could give me on this one. I had grown
very comfortable with Frontpage2000 despite its quirks.

From: "Steven Toney"
Subject: Re: Office 2000 install error 1601!
Date: 1998/12/30
Message-ID: <>#1/1
X-Deja-AN: 427260501
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.0810.800
X-MSMail-Priority: Normal
Newsgroups: microsoft.public.msdn.general

I think the new windows installer sucks!!

much to busy ,, difficult to tell plainly what is being installed and what
is not

install programs should be simple with clear choices and feedback on what
will be installed or removed.

this new program is none of these


From: "Tom Savage"
Subject: Re: Office 2000 install error 1601!
Date: 1998/12/31
Message-ID: #1/1
X-Deja-AN: 427449318
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.0810.800
X-MSMail-Priority: Normal
Reply-To: "Tom Savage"
Newsgroups: microsoft.public.msdn.general

_Lucky for me_ I found that c:\winnt\system32\msi.dll had not
self-registered during my repeated installations and uninstallations. I
registered it and the installation worked fine.
Well... almost fine. Now I have to get the Office2000 server extensions SQL
Server database to work right. "Version incompatibilities prevent
communication with the database". I'm using a hopelessly out-of-date and
incompatible SQL Server (v6.5 SP3)


Colby Ringeisen said...

[Note: I just re-read this before posting it and realized I’m sounding very pro-Microsoft. That isn’t the intention of this post – I just wanted to defend my position that MSI was a huge step forward (over script based installs) towards making Windows a more stable operating system. I also agree that it’s time to take it to the next level or replace it with something better.]

I remember hating MSI when it first came out too. However, I really think that's just the nature of the beast at the time. Switching from script driven installations to data driven MSI was a challenge for all of us and painful for most.

If we’re going to talk about the history of MSI, I think it’s important to keep in mind what was going on with Windows in general when MSI was introduced to keep it in context. Microsoft had just launched the “Zero Administration Initiative for Windows” in which they promised more reliable, easier to manage systems (with Windows 2000 being the first big improvement towards that goal). As many of you remember, Windows was extremely prone to system crashes prior to Windows 2000. While mostly these were a result of the COM model in general, not all of it was actually Microsoft’s fault. I would argue that many of the “DLL Hell” issues that lead to system crashes prior to Windows 2000 were really caused by ISVs distributing poorly designed script based installs (anyone remember the “It was working fine until I install X on my system” comments for end users?).

With Windows 2000, MS introduced three new system services that, when examined together, combined to virtually eliminate DLL Hell:
1. Windows Update Service
2. Windows System File Protection Service
3. Windows Installer Service

In fact, I don’t remember a single system crash after Windows 2000 came out that I couldn’t trace back to a vendor that was still using script to do something they shouldn’t have done in their installation.

Christopher Painter said...

Bob Arnson recently used the term "Frenemy" to describe the component rules. I would actually use that term to describe Windows Installer in general. :-)

It is true, there are many things I like about MSI and in fact it's my platform of choice since 2003.

It is also true that there are a great many things about MSI that are just a pain in the ass and you find yourself working against it very often trying to get it to do things that you need it to do that it simply doesn't support.

So here's to my Fremeny: Windows Installer. Happy 10 year annniversary!

Anonymous said...

I just realized I've gotten old! 10 years!!! Windows 2000? I can still remember 98, 95, 3.1 like yesterday and I'm not about to admit I remember further back than that :-)

Anyway, MSI is good for avoiding evil. Though there are some changes/additions that would be nice. Hopefully by having WiX per default in Visual Studio more people will help requesting new features to MSI...

ShadowWolf said...

I've always felt that MSI did great in the environments and platforms it supported and the major issue that the MSI team has had and still has is just supporting today's technology.

MSI is great if you want to deploy a COM Application or lay down some files in a very specific way.

It's awful if you want to distribute a 32/64-bit app, do anything with .NET more complicated than installing something to the GAC, deploy any type of server, and I could go on.

It's the best out there, but I think that's almost as much of a condemning of the other install technologies as much as it is a compliment for MSI.

Anonymous said...

Good grief... and there's even a post from me in that thread. Times HAVE moved on.