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)
- CAS permissions
- run as non-admin
- pre and post-deployment tasks
- partial deploys (only a set of modules)
- segmented deploy (e.g. only deploy a beta testers group)
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
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.