Rolling back to previous ClickOnce versions
I've been deploying software using Microsoft's ClickOnce mechanism a lot lately and despite enjoying its simplicity, especially in comparison to some of the more complicated MSI Setup Projects I've inherited, I've found myself slightly nervous about its abililty to turn a simple software code update into a potentially massively distributed network of fail with its Auto Updating feature.
Because of this, you occasionally have a rather urgent need to roll back everyone to the last working version, and this turns out to be rather easy.
In the publish's output folder you will see a file called "<application name>.application". This is the ClickOnce Application Deployment Manifest and contains a load of details about the application and in particular the version to install and where to find it.
You will also see an "Application Files" folder which will contain a folder for each version of your application deployed so far. To revert all of your users to a previous version, simply copy the "<application name>.application" file from the relevant version subdirectory over the one in the root, then either point your users at your ClickOnce location or if you had the application set to check for and apply updates automatically just tell them to restart. The application will detect that there is a "newer" version (even if that version is in fact older) and allow the user to install it.