Game Development Reference
First, ClickOnce deployment takes advantage of application isolation, meaning that
the installed applications are isolated from other applications and the operating
system itself. This protects the user from the infamous “DLL Hell.” MSI installers
replace files and manipulate the registry, which can cause all sorts of problems.
MSI files cannot check for newer versions of the software without the help of addi-
tional tools. ClickOnce installers have this functionality built right into the runtime.
Updates are pushed to users when they request the deployment manifest for the
application. MSI files do not support this functionality, although they can inte-
grate pretty well with management and deployment tools such as SMS and Active
Hopefully I did not scare everyone away by pointing out the limitations of ClickOnce.
Overall, ClickOnce is an excellent deployment solution, and it solves many prob-
lems that MSI installers cannot overcome.
Creating the Application
Before we can start discussing ClickOnce deployment, we need to build an appli-
cation that we can work with. The simplest C# Windows Forms project will do, such
as the one shown in Figure 44.1 that has a single button displaying a “Push Me!”
At this stage when we have a completed product ready, a separate MSI project is
normally created to deploy the files, while Visual Studio 2005 integrates ClickOnce
deployment right into the IDE for the project.
Example application used for deployment.