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

Monday, December 29, 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.
thanks,
ts

From: "Steven Toney"
Subject: Re: Office 2000 install error 1601!
Date: 1998/12/30
Message-ID: <#soTrZEN#GA.255@uppssnewspub04.moswest.msn.net>#1/1
X-Deja-AN: 427260501
References:
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

steve

From: "Tom Savage"
Subject: Re: Office 2000 install error 1601!
Date: 1998/12/31
Message-ID: #1/1
X-Deja-AN: 427449318
References:
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)

Saturday, December 13, 2008

The Day The Earth Stood Still Comments

I took yesterday off from work to hang out with my wife. After sending our kids off to school, dropping by the doctors office for some blood work and eating breakfast at Kerbey Lane Cafe, we decided that we could squeeze a movie in before having to pick Emma up from school.

We decided to see The Day The Earth Stood still since it was starting at 11am and the previews looked good. Unfortunately I hadn't picked up on how disappointing the movie was until we were sitting in the theater.

I have several issues with the politics of the movie, and I found the following comment on the Internet that says it better then I can:

Spoilers… (Or “Savers” if you don’t want to waste $10)

The aliens arrive in the usual idiotic fashion that makes the Conquistadors arrival in the new world look like a well planned diplomatic mission. The response by the Americans is predictable and right out of the Hollywood cliche’ handbook of STOOPID Americanism. The military’s lack of common sense is matched only by the oblivious idiocy of the enlightened Klatu who only realizes that killing 6 billion people is a bad idea when he sees a child crying about his dead daddy. Than the whole movie wraps up with an unexplained sudden ending as Klatu turns off all the lights and leaves. So now what? Are we left in the dark ages forever? Is the blackout a temporary measure to teach us a lesson or can we look forward to a Mad Max style sequel where humanity splits up into tribes and starts killing each other while they all starve to death in famine in a new enlightened more green style of misery?

Avoid this turd. Word of mouth should kill it off in a matter of weeks. But on the bright side the Wolverine preview looked pretty cool.

-Michael

On the bright side, I actually had decent service at Kerbey Lane Cafe for a change. :-) Usually I have such a horrible experience. I really don't understand what Austinites see in that restaurant.

Tuesday, November 18, 2008

Back with old friends

From time to time my stomach tells me that it's time for a change. This recently happened again ( darn build/install guys always keep getting hit by a bus... ) and on November 17Th, 2008 I left MultiMedia Games and returned to Overwatch Textron Systems, Tactical Operations to be with old and new friends.

So after having both the TFS/BuildForge role and the InstallShield/MSI role for the last couple years, I've put my build engineering hat back in the closet and settled in to focus on the installation side of the house.

Our group is growing like crazy! So, if you live in the Austin, TX area and you are an upstanding and unquestionably loyal US Citizen, then please look us up. We are hiring all the time.

Monday, November 3, 2008

Client Profile Configuration Designer Source Code: Where's the Beef?

In a previous blog I mentioned the horrible setup experience that I had with the Client Profile Configuration Designer setup. I really wanted to work around the problem so I went to CodePlex and downloaded the source files.

The good news is that the build process is exactly the way I like to roll. It just worked!

The bad news is I didn't see any of the source or binaries in the solution tree.

As the old commercial says, Where's the beef?

Horrible Setup Experience for Client Profile Configuration Designer

I was reading a blog from Windows Installer Expert Stefan Krueger talking about a new setup tool from Microsoft:

At 0:31:15 Tyler introduces the Client Profile Configuration Designer which has just been made available as beta. It's essentially a tool that can chain multiple packages such as the .NET Framework and other prerequisites, as well as ClickOnce packages, MSI based setups or even scripts. It provides a seamless and ustomizable user interface with one progress bar across all the packages, and can either defer reboots requests until the end, or handle reboots between packages gracefully. Optionally it can also create a combined uninstall experience instead of separate entries in the Add/Remove Programs control panel. The Client Profile Configuration Designer can be downloaded from windowsclient.net/wpf/ in the Deployment section.



So I downloaded the program, double clicked the EXE and the install just flashed on by. Oh great, I thought, another one of those WiX based UI-less installs that I've complained about for years. This is sort of odd considering this is supposed to be a fancy WPF chainer.

This left a very unfavorable taste in my mouth as I hate it when an install doesn't announce itself and ask me if it's ok to proceed.

But the real joy was to be had when I tried to run the actual application:



Crash!



Debug!



I then started troubleshooting and found all sorts of interesting things. For example, despite touting itself as a WPF based chainer, the package installs itself Per-User and doesn't cache it's package source. It also *SEEMS* to be using the IExpress bootstrapper. Odd Again.

I eventually got my hands on the actual MSI ( sure enough, Windows Installer XML Windows Installer XML v3.0.2921.0 ) and couldn't find any reference to the missing assembly. Hmmm, I guess it's another case of it worked on my machine!

So while I'd like to give this new tool a spin, it seems Acresso's lead in this space remains completely unchallenged. After all, when is Burn going to be done, 2012?

Sunday, October 26, 2008

Big Swinging Developer Test

I recently came across these three websites that are a much read:

http://www.buildsonmymachine.com/
http://www.wheresthebuild.com/
http://www.youbrokethebuild.com/

The pictures rock in the way they make humor out of the things us deployment engineers have to deal with. Then I moved onto the blog behind it all:

http://blog.bigswingingdeveloper.com/

It's a really good read so let me sign off and leave you to reading it. :-)

Thursday, October 23, 2008

What I use WiX for Today

In a recent blog, Holger asked the question:

"With regard to your automation framework...what for do you make use of WiX (instead of using IS)?"

First a little humor. I'm guessing what many would really say ask is:

"OMG, the big trolling WiX hater actually uses WiX? Has hell frozen over? What do you do with WiX?"

I'm working on an SOA product line that has about 40 builds/installs... micropackages in a sense. I have an InstallShield `common installer` that has a feature tree of all of our known features and product configurations of all of our packages. This allows me to build the different installs while attempting code reuse in the only way InstallShield can really do it. Fragments would be helpful here.

All of my custom actions are written in C# using DTF. This includes the ability to publish SQL services reports using a series of custom tables. ( This needs to be refactored into a WiX extension pattern and possibly shared with the community. )

The features reference merge modules. For some assets where the developer has told me they don't want to worry about setup, I use InstallShield merge modules. For other features where the developer wants to play a role in setup development (rare), I use WiX merge modules.

These products are built individually because they intend to release to QA/PROD that way when servicing. There is also a bootstrapper in the works that will join all of these products together to allow for a variety of setup stores ( site datalayer, site application layer, central datalayer, central datalayer, client 1, client 2 and also sql server reporting services reports ).

Along the lines of red, green, refactor... I'm at green right now. Eventually when better designer tools and bootstrappers are available I'll start refactoring the remaining InstallShield components to WiX fragments. The problem is WiX just isn't there yet IMO and it doesn't make good business sense to do it yet.

InstallShield might be taking away the SAB and raising prices and generally not caring about customers but I'll still get a few years out of IS2009. One day though, WiX will eventually be the answer. Who knows, maybe InstallShield will find a way to stay in that world.