ClickOnce
Encyclopedia
ClickOnce is a Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 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 client
Smart client
Smart Client is a term describing an application environment which:* delivers applications over a web [] connection* does not require installation * automatically updates without user action...

s.) ClickOnce is a component of Microsoft .NET Framework 2.0 and later, supports deploying applications made with Windows Forms
Windows Forms
Windows Forms is the name given to the graphical application programming interface included as a part of Microsoft .NET Framework, providing access to native Microsoft Windows interface elements by wrapping the extant Windows API in managed code...

 or Windows Presentation Foundation
Windows Presentation Foundation
Developed by Microsoft, the Windows Presentation Foundation is a computer-software graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0. Rather than relying on the older GDI...

. It is similar to Java Web Start
Java Web Start
In computing, Java Web Start is a framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser....

 for the Java Platform or Zero Install
Zero Install
Zero Install is a means of distributing and packaging software for multiple operating systems . Many distributions offer it as an additional non-default component.- Design :...

 for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

.

Description

The core principle of ClickOnce is to bring the ease of deployment of web applications to the Windows user. 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 to 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
Code Access Security
Code Access Security , in the Microsoft .NET framework, is Microsoft's solution to prevent untrusted code from performing privileged actions. When the CLR loads an assembly it will obtain evidence for the assembly and use this to identify the code group that the assembly belongs to. A code group...

 (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.

Applications

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.

The ClickOnce deployment technology has been integrated into the Visual Studio 2005 and later, and is also natively supported by MSBuild
MSBuild
MSBuild is a Microsoft build platform typically used in conjunction with Visual Studio. MSBuild version 2.0 is part of .NET Framework 2.0 and works together with Visual Studio 2005...

, Microsoft's build management technology.

Manifests

A ClickOnce deployment is controlled through the use of two XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 manifest files: a deployment manifest and an application manifest. The manifests are in the same XML format as the Side-by-Side Assembly
Side-by-side assembly
Side-by-side technology is a standard for executable files in Microsoft Windows XP and later versions that attempts to reduce DLL hell. Side-by-side technology is also known as WinSxS or SxS. Executables that include an SxS manifest are designated SxS assemblies.DLL hell designates a group of...

 implementation. The deployment manifest (*.application file) describes the deployment model: the current version, update behavior, publisher identity along with 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.

Updates

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.

Browser support

Prior to .NET Framework 3.5 with Service Pack 1, ClickOnce worked only with Internet Explorer, although the FFClickOnce add-on allowed Firefox to support it.

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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK