Fog Creek Software
Discussion Board

Upgrade Installer

One question: why?

Why when you have a perfect working solution are you going to give yourself the hassle of re-developing the entire thing using installshield (ugh) and some patching software. You are surely not going to gain that much, and therefore this is a waste of effort! Apart from anything else, you're spending lots of money on an un-needed toolset.

For somebody who believes that you should never re-write a product (am I right in attributing that to you?) this seems a little odd.

Just my opinion.

Simon Steele
Wednesday, April 16, 2003

I use the free and flexible Nullsoft installer for all of my setup and upgrade needs.

Wednesday, April 16, 2003

There is also Inno Setup ( ) which is free (with source also available), and quite good.

It doesn't support programming (it allows settings scripts, but not program-like scripts), but there is another version, called My Inno Setup Extensions, which supports Pascal-like scripts.

I shall try out the NSIS.

George Nicolescu
Wednesday, April 16, 2003

If your install is not broken, then there's no reason to arbitrarily change it. But I can almost guarantee the developers don't know whether the installer is broken.

I define broken as "the user has ANY trouble whatsoever getting the application installed". Your support people should be able to tell you what the typical calls are on installation issues. If you have none, count yourself lucky. Failure to get the install to work as often as not might result in a returned product.

Brad Wilson (
Wednesday, April 16, 2003

It would be worth it if it makes setup faster for users (less bytes to download).

So far I'm a little worried; InstallShield's SETUP is about 11 MB versus 9.7 MB for InnoSetup. So far their compression is rather unimpressive. But I still haven't tried vBuild which is supposed to have really good compression.

Joel Spolsky
Wednesday, April 16, 2003

You might try Ghost Installer from It has some of the best compression I've seen in an installer. As for a patching tool, there's a relatively inexpensive one from ClickTeam called Patch Maker that can update from multiple different versions.

Wednesday, April 16, 2003

Hm. I like the idea of offering software patches while keeping an existing install procedure for "full installs".

You don't really need a full-grown installer software to implement software updates. There is not much information you want to request from the user. You might want to give information about what changes an update brings, and ask if the user wants to apply it, and that's about it.

A installer that requires you to click "ok" and wait for 5 seconds for it to finish is not really an installer. It doesn't need a setup screen.

Martin Dittus
Wednesday, April 16, 2003

Do you envision having to force users to update patches in series, so the patch update keeps working?

How does this work if I haven't upgraded from v3.45 for yonks, and I go and grab the latest update patch, v3.98, which is expecting to patch a v3.77 file?

I'm going to have to download every update between these versions, aren't I.

Geoff Bennett
Thursday, April 17, 2003

We are using SetupBuilder 4 from Lindersoft ( to install our software. We shipped 25,000 CDs in the last three month period and more than 55,000 packages where downloaded from our web sites (installer overhead is only 160 KB). The forthcoming SetupBuilder 5 will support a new scripting language. We are a Fortune 500 company and have access to the alpha releases.  IMO, the new SetupBuilder 5 will be a must have installer tool.


Carl Rosenberg
Thursday, April 17, 2003

Geoff, quoting MarkF's posting: "Patch Maker [...] can update from multiple different versions".

Martin Dittus
Thursday, April 17, 2003

Ugh, version-to-version patches suck (anyone ever played Halflife or Tribes 2? :). But I think Joel understands that you can do a better job by checking the current installation against a manifest of the latest version, and then applying diffs until they are identical. This is obviously more robust against quirks on the user's system.

Also, regarding patches vs. full replacement, I think Joel is worrying about his own bandwidth costs, in addition to users on slow connections :)

Dan Maas
Thursday, April 17, 2003

*  Recent Topics

*  Fog Creek Home