InstallShield Wastes My Valuable Time (Which I Could Be Using To Play a Game)

I’ve had to use InstallShield to create installers a couple of times. These were fairly unpleasant experiences — while InstallShield is indeed a pretty flexible tool, it also takes a lot of work to get anything accomplished. Their habit of releasing new versions of the package every year (and completely abandoning the previous versions) makes yearly sports game updates look benign in comparison, and the pricing is pretty outrageous. The company was purchased by Macrovision, and has been renamed under the execrable banner of Acresso Software. I bet somebody got paid a lot of money to come up with that terrible name — probably the same people that came up with Accenture or other word-vomit.

(By the way, a quick look at their home page is all you need to reinforce the idea that InstallShield is all about squeezing every last dollar out of you. "Entitlement Relationship Management"? "Enterprise Software Compliance"? A picture of some smiling d-bag in a suit behind two rows of computer monitors? Bleagh. Oh, and their corporate rebranding has resulted in a web site with broken download links — try downloading updates for InstallShield 5, and have fun!)

As it so happens, yesterday I was trying to install a value edition copy of Heroes of Might and Magic IV Complete (in German, no less). The autorun program on the CD allows you to launch the installers for all three products on the disc. However, when I clicked to launch an installer, nothing would happen. The Task Manager revealed that setup.exe was running, but didn’t appear to be doing anything — it was hung up. Attaching a debugger to the process revealed that it was deadlocked — not good. (I couldn’t tell what function it was deadlocked in, unfortunately…I didn’t have the debugger set up to use the Windows symbol server.) Checking the properties for setup.exe revealed that it was an installer produced by version 5 of InstallShield.

I spent some time searching online for InstallShield problems, and discovered that older InstallShield versions have problems (lots and lots of problems) when running under Windows XP Service Pack 2. Note that this was divined from user postings, not any sort of official acknowledgment from InstallShieldAcresso. Also, one of those posts states that at least one of those problems is caused by an uninitialized variable in InstallShield — awesome. Very confidence-inspiring. InstallShield’s own updater page even skips over the version that built the installer I was having problems with (InstallShield 5), for some reason — it’s like they don’t even want to acknowledge that it ever existed.

Unfortunately, most of the user threads I linked either didn’t have any resolution, or suggested things that didn’t work for me (turning off the NMIndexingService, for example — it wasn’t even running on my machine). However, one suggestion that did work for me was to install the game by booting into safe mode. Yuck.

Just to make sure that all of the relevant details get picked up by search engines, if you are running an InstallShield installer (setup.exe) under Windows XP service pack 2 or higher, and it hangs or gets stuck, run the installer after booting into safe mode and it should work. This definitely applies to InstallShield 5 installers, and possibly later versions. I haven’t tried uninstalling the game yet, but I imagine that the same remedy will be required for uninstalling it.

Now, after spending two hours figuring this out, I might actually be able to play the game! Yeehaw.

Join the Conversation

1 Comment

  1. As the new guy on my team I have the pleasure of building installers with InstallShield.

    What gets me is that even the GUI is broken on their IDE. Sometimes properties in the dialog editor will refuse to change, you can’t drag drop anything, and sometimes just pressing the wrong button make it crash.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.