ClickOnce, MSBuild and CAB

Lately, I've been wondering about the strength of ClickOnce applied in enterprise applications. In these scenarios, the deployment of a Smart Client application involves more than a simple XCOPY. Let's enumerate some of them:

  • multiple environments (dev, qa, staging, production)
  • prerequisites
  • CAS permissions
  • run as non-admin
  • pre and post-deployment tasks
  • partial deploys (only a set of modules)
  • rollbacks
  • segmented deploy (e.g. only deploy a beta testers group)
  • versioning

The truth is that ClickOnce has been designed with some of these things in mind out of the box but not all of them. Fortunately the ClickOnce world does not finish in the “Visual Studio 2005 Publish tab”.  We have MSBuild tasks, mage.exe and mageui.exe to overcome the advanced scenarios.
A great sample showing the advanced features has been written by Mike Bouck.

Based on this and my previous post about dynamic modules, I’m planning to write a sample consisting of a CAB application leveraging ClickOnce and CAB Module Loader to download modules on-demand and load them dynamically.

Published: April 02 2006

blog comments powered by Disqus