There are a great number of additional details to ClickOnce application deployment, including security considerations, command-line handling, updating and rollback, prerequisite installation, access to external information sources, and certificate management, just to name a few. All of these details are beyond the scope of this book and are covered in great detail by other sources.* However, following are some specifics to standalone and XBAP ClickOnce deployment you might like to see all in one place.
Standalone WPF applications deployed using ClickOnce:
• Can implement the main window with Window or NavigationWindow (although only the former has a project template in Visual Studio—the "Windows Application [WPF]" template)
• Can be online-only or online/offline
• If installed online/offline, can integrate with the Start menu, and can be rolled back and uninstalled
• Must set "full trust" in the project's Security settings (the Window class demands this)
* The SDK does a pretty good job, as does Smart Client Deployment with ClickOnce: Deploying Windows Forms Applications with ClickOnce, by Brian Noyes (Addison-Wesley Professional).
XBAP applications deployed using ClickOnce:
• Provide their content with one or more Page objects to be hosted in the browser
• Must be online-only to deploy with ClickOnce
• There can be no "Security Warning" dialog, so must not attempt to elevate permissions beyond what is provided already on the client's machine
• No custom pop-up windows are allowed (e.g., no dialogs); can use standard page navigation, page functions, and message boxes instead
• Designated as XBAP by setting the HostlnBrowser property to True in the project file (will be set by the "XAML Browser Application (WPF)" project template in Visual Studio)
For the details of navigation-based applications and XBAP browser hosting and deployment, read Chapter 11.
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.