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

December 15, 2007

An Example of the Importance of Setup

As a result of my division being sold to another company earlier this summer, one of the many things asked of me was to complete a `Jobs Analysis Questionnaire`. Basically it's a really long form trying to figure out what the heck I do ( think of the Bobs in Office Space asking `So just what is it you do here?` ), how much responsibility I have and what could go wrong if I do it incorrectly.

A lot of people seem to think that Deployment Engineering isn't really important. Very frequently I am contacted by potential clients and recruiters who seem to grossly underestimate their needs. I even see this attitude from very seasoned developers and program managers who really should know better.

Recently I've seen a lot of postings talking about very .NET Framework and Visual Studio installer errors. However even these blatant defects are nothing compared to this gem.

The summary of the story is that a gaming company was putting together an installer using NSIS and in the process they wiped out the BOOT.INI on their customers computers. They try to explain how their entire development process failed to catch this issue but in the end it's inexcusable. In the end they are feeling the pain of trying to make it right.

Sadly this is the case in a lot of development shops. Deployment Engineering just isn't treated as a first class activity. Resources with little or no understanding of deploying applications get assigned, the requirements aren't clearly defined, inferior tools are selected and the test plan is non-existent.

4 comments:

Daniel said...

Good one Chris! I had discovered a problem with the "industrial sized installer application" (ISIA) that was similar to this scenario.

If you use a batch file to deploy a MSI installation along with a transform generated by this ISIA, the setup would then remove all system files in the root of the system drive. This includes the Boot.ini file as well as several other key .sys files.

The solution given by Macrovision - be sure to include a set property value custom action to delete the value of ISSETUPFILESCOMPLETED. This has been confirmed to be an issue by Macrovision and to date I have not seen a resolution to this ticket other than the workaround mentioned above.

Michael said...

While installs built with 11 or earlier are susceptible to it, the file deletion has not been a problem since the 11.5 release in late 2005 (although non-desctructive problems due to missing setup files can still occur).

The story just goes to show how testing is necessary both in the developing company before release, and at any site that wishes to transform the experience.

ShadowWolf said...

It seems that not only does installation development often times get a back seat, but even the testing procedures often don't include anything more than installing the application.

Incidentally, Blizzard - the company that made World of Warcraft - has had an in-house patching and installation solution since around 1997 or 1998. Similarly, EA has a standard installer they've been using for a while.

It's funny how the big names in the industry have a standardized installer and the names that don't stick around...don't.

Paul Cronk said...

A more classic example is the initial release of OS/2 to trade rag reviewers. Way back a long long time ago IBM released OS/2 to be reviewed by Trade Mags. There was one small problem. The install sucked!!! This was back in the DOSages when config.sys and autoexec.bat were used to define the hardware and os environment. The OS/2 install overwrote autoexec.bat and config.sys, and it didn't back them up first.

The mostly non-technical writers flamed OS/2 as a piece of trash, even though it was better than Windows 2.0 on every level, when you got it to start that is.

The result was the loss of the PC desktop war to Microsoft before it really started.

I like to mention this to potential clients when they freak about my rate or quote...

Sure go do what IBM did with OS/2. Call me if your company survives the experience.