||This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (May 2010)|
ClickOnce is a Microsoft technology that enables the user to install and run a Windows application by clicking a link in a web page. (Such applications are known as Smart clients.) ClickOnce is a component of Microsoft .NET Framework 2.0 and later, supports deploying applications made with Windows Forms or Windows Presentation Foundation. It is similar to Java Web Start for the Java Platform or Zero Install for Linux.
The core principle of ClickOnce is to ease the deployment of Windows applications. In addition, ClickOnce aims to solve three other problems with conventional deployment models: the difficulty in updating a deployed application, the impact of an application on the user's computer, and the need for administrator permissions to install applications.
ClickOnce-deployed applications are considered 'low impact', in that they are installed per-user, not per-machine. No administrator privileges are required to install one of these applications. Each ClickOnce application is isolated from the other. This means one ClickOnce application is not able to 'break' another. ClickOnce employs Code Access Security (CAS) to ensure that system functions cannot be called by a ClickOnce application from the web, ensuring the security of data and the client system in general.
The ClickOnce model supports both installed applications (akin to conventional Windows applications with start menu integration) and online applications (browser hosted applications that are not installed, only run and cached). ClickOnce applications can be deployed to a computer from a Web location, a network share, or even from a file location such as a CD.
A ClickOnce deployment is controlled through the use of two XML manifest files: a deployment manifest and an application manifest. The manifests are in the same XML format as the side-by-side assembly implementation. The deployment manifest (*.application file) describes the deployment model: the current version, update behavior, publisher identity along with a digital signature; this manifest is intended to be authored by administrators who handle deployment. The application manifest (*.exe.manifest file) describes the application assemblies, dependent libraries and lists permissions required by the application. This file is intended to be authored by the application developer. In order to launch a ClickOnce application, a user clicks on its deployment manifest file.
ClickOnce applications can be self-updating; they can check for newer versions as they become available and automatically replace any updated files. For its installed application flavor, ClickOnce presents several update options. Applications can be configured to check for updates on startup or after startup. ClickOnce also exposes programmatic APIs to customize update behavior. There is also support for required or mandatory updates for managing ongoing updates and ensuring that the entire user-base can be moved up to a new version in a timely manner.
Microsoft .NET Framework 3.5 with Service Pack 1 includes a Firefox extension called .NET Framework Assistant that enables ClickOnce support in Firefox 3 and later.  The first release of this extension however, had a problem that prevented users from uninstalling the add-on in the same manner that other add-ons are uninstalled: the corresponding Uninstall button in the Add-ons dialog box was disabled.On 6 May 2009, Microsoft released an update that addressed this problem and also published a support article that helped users manually remove this component. In addition, the later versions of Microsoft .NET Framework Assistant included with Windows 7 and .NET Framework 4 did not have this issue.
- "FFClickOnce 0.8". Add-on for Firefox. Mozilla.org. 7 August 2008. Retrieved 23 May 2010.
- "Firefox Add-ons to Support .NET Application Deployment". Microsoft Developer Network. Microsoft Corporation. Retrieved 23 May 2010. "The Windows Presentation Foundation (WPF) plug-in for Firefox and the .NET Framework Assistant for Firefox enable XAML browser applications (XBAPs), loose XAML, and ClickOnce applications to work with the Mozilla Firefox browser. [~snip~] The .NET Framework Assistant for Firefox enables stand-alone ClickOnce applications to run from the Firefox browser. The .NET Framework Assistant for Firefox functions identically when it is installed before and after the Firefox browser."
- "List of changes and fixed issues in the .NET Framework 3.5 Service Pack 1". Microsoft Support. Microsoft Corporation. 17 July 2009 Last update. Retrieved 23 May 2010. "Known issues [~snip~] Issue 2: .NET Framework assistant for Firefox has the Uninstall button disabled. In the .NET Framework 3.5 SP1, the .NET Framework Assistant enables Firefox to use the ClickOnce technology that is included in the .NET Framework. The .NET Framework Assistant is added at the computer level so that its functionality can be used by all users at the computer level instead of at the user level. Therefore, the Uninstall button is unavailable in the Firefox Add-ons menu because standard users are not permitted to uninstall computer level components."
- "How to remove the .NET Framework Assistant for Firefox". Microsoft Support. Microsoft Corporation. 16 February 2010 Last update. Retrieved 23 May 2010. "To resolve this issue, use one of the following methods: Method 1: Download the Update to .NET Framework 3.5 SP1 for the .NET Framework Assistant 1.0 for Firefox [~snip~] Note: This update is included in Windows 7 and in the .NET Framework 4.0. [~snip~] Method 2: Remove the .NET Framework Assistant for Firefox [~snip~]"