Hacker News new | past | comments | ask | show | jobs | submit login

Good old InstallShield. At one point it was everywhere, and then... it wasn't.

I keep all the bundled installers I've ever had in a folder. Currently there are files there from 2009 onwards (older ones are archived somewhere). I didn't bother looking for the older ones, but running grep -a ether-rot-mutex quickly yielded a match containing the entire snippet! The culprit is the installer for Ulead (now Corel) PhotoImpact 12 and it has been there since 2010.




Installshield as a product had... (has?) absolutely incredible incidental complexity. It's really hard to communicate the scars, if you never dealt with it, you dodged a bullet.

Under the next -> next -> finish you saw, was basically a fountain of tears. That software directly relished and consumed the salty tears of engineers. It demanded them as sacrifice, to make the installs keep happening.

You would think that a product which did nothing but facilitate that workflow would hide, or somehow ease your pain but somehow it made it so that it never worked by default and it was your problem as "installer engineer" (aka short-straw-haver) to fix it.


I never messed with InstallShield but I have used NSIS (free), Wix (free), and Advanced Installer (paid). Advanced Installer is absolutely worth it in my opinion, although it still has trouble hiding the nightmare of Windows installers. NSIS syntax is a cross between PHP and assembly. Wix is literally an attempt to program a database using XML. That's three things that don't fit together well.

Part of the problem is that most Windows installers are based off MSIs, and MSIs were made for MS Office by some engineers who thought relational databases were cool, so they made everything in MSI be a relational table.


Probably a good thing that when I built a Windows app in 2010 and needed an installer for it, I used InnoSetup. It was surprisingly easy to get something decently working out of it.

But yes, I remember that a lot of installers were InstallShield, and the thought that it might be a mess on the inside has never once crossed my mind.


InnoSetup stills works great, and is still pretty easy to work with.


But it had to solve some original problem (while maybe introducing others). Otherwise it wouldn't be used?

From user's POV, I've always preferred IS installers than Wise, but I haven't created any packages even once. I was always just the "next-next-finish"-type of user ;)


A cut down (but still very functional) version of Install Shield came bundled with Visual Studio, Delphi, C++ Builder and perhaps others (they were somewhat customized versions for each) so for many it was available out of the box.

And the included version had a wizard to quickly create an installation project so unless you wanted something advanced, making an installer was a matter of selecting your program's files, the name of any Start menu shortcuts (and perhaps a couple of other things i forget) and then building the installer. For a ton of people it was more than enough.

I think at the time its main "drawback" was that it made installer downloads from the internet a bit awkward since it generated tons of files, but many archiving tools (WinZip, WinRAR, etc) added options for making self-extracting archives that can launch applications, so the combo of a WinZip self-extracting archive that launches an InstallShield setup.exe was very common for a very long time.

But basically the reason it was used a lot was that it was easily available to the users of the most popular development tools at the time.


It made you a standard executable Windows installer. Inexplicably there wasn't a decent first-party Microsoft solution to this until the Microsoft Store era.

There wasn't really effective competition, probably because it's hard to get people to pay for developer tools and it's a hard problem to do well.


Umm.. MSI has been a thing since Windows 2000, and WiX (and native support in VS) for creating those.


My very first tasks as a new software developer were to revamp some legacy installers created with Installshield. It made me think that I chose the wrong career path. Just about everything I've worked on since then feels easy and painless compared to that.


Ah, yes, I remember it well. The day I jumped to NSIS was a good day.


Is NSIS really that much better?


Yes, I think it is. But, it's not great. The pseudo assembler language is not great, but it was definitely easier for me to deal with, perhaps because there were lots of other people using it and sharing info.


13 years of installers.. That's some impressive digital pack-ratting!

What's the idea? Just in case you ever need the installer again and it's no longer hosted online?


It's true that I don't trust the permanence of online resources, usually with good reason. But I can also be a bit of a digital hoarder. My IRC logs, for instance, go all the way back to 1999. It's funny because in meatspace I'm extremely tidy and don't keep any garbage. I have a single wardrobe with shelves of computer parts (mostly cables, wires and screws) and a few old CDs.

I have nothing from before April 26, 1999, the date when the Chernobyl virus destroyed my hard drive and wiped out all of kid me's QBasic programs (what a loss for humankind). Kid me could not afford the storage space for backups, nor did he have the discipline anyway.


You never know! Not the OP but I encountered a situation recently where my wife needed an old version of some software that was no longer available to download anywhere. (It pairs with an "smart" embroidery machine of hers.) Luckily I managed to find a copy of the installer in the temporary internet files directory of her old PC.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: