Friday, July 29, 2005 - Posts

Patching Software I Write

Recently I've been bitten by having to deploy minor upgrades of a .NET application I developed, by uninstalling and reinstalling on the client's PC.

This is bad for two reasons:

  1. For the next minor change I am going to have to build a setup project, make sure it works, and package it into an MSI file
  2. I had to physically go to the client's machines and fiddle around with install/uninstall

My aim is to have a system that I don't have to get involved in as much. I wonder what you guys & gals, my readers, use for deploying and (more importantly) patching your .NET applications?

I posted this same question to the AUS-DOTNET mailing list and have had some replies, one pointing me to Wix and another to RTPATCH (still looking into both of these).

Personally I've taken the path of least resistance and used Visual Studio setup projects. Unfortunately it's also the path of least configurability and the installers that are produced are just "good enough" e.g. great for clean, fresh installations but as far as I can see don't have any concept of a "patch". I also have an old, old version of Wise that's probably as good/bad, but in different ways, that I'm unwilling to use just yet (it also doesn't support the notion of "patching").

The AppUpdater is good, but not great, in that our users are not given permission to write to the "Program Files" folder which means that normal users can't run the AppUpdater. Also we don't have a proper web server to check the update locations on.

That's all the caveats I can think of...how do others deal with this issue?