Click Once

ClickOnce enables the user to install and run a Windows application (MEX/FleetMEX) by clicking a link in a web page. 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.

  • Difficulties in updating applications. With Microsoft Windows Installer deployment, whenever an application (MEX/FleetMEX client) is updated, the user must reinstall the entire application; with ClickOnce deployment, you can provide updates automatically. Only those portions of the application that have changed are downloaded, then the full, updated application is reinstalled from a new side-by-side folder.
  • Impact to the user’s computer. With Windows Installer deployment, applications often rely on shared components, with the potential for versioning conflicts; with ClickOnce deployment, each application is self-contained and cannot interfere with other applications.
  • Security permissions. Windows Installer deployment requires administrative permissions and allows only limited user installation; ClickOnce deployment allows non-administrative users to install and grants only those Code Access Security permissions necessary for the application.

You can publish a ClickOnce application in three different ways: from a Web page, from a network file share, or from media such as a CD-ROM. A ClickOnce application can be installed on an end user’s computer and run locally even when the computer is offline, or it can be run in an online-only mode without permanently installing anything on the end user’s computer.

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 CAS (Code Access Security) 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 deployment technology is integrated into the Visual Studio 2005 project system and is also natively supported by MSBuild technology.
After it is deployed to the deployment location, end users can download and install the application by clicking an icon representing the deployment manifest file on a Web page or in a folder. In most cases, the end user is presented with a simple dialog box asking the user to confirm installation, after which installation proceeds and the application is launched without further intervention. In cases where the application requires elevated permissions, the dialog box also asks the user to grant permission before the installation can continue.

The application is added to the user’s Start menu and to the Add/Remove Programs group in the Control Panel. Unlike other deployment technologies, nothing is added to the Program Files folder, the registry, or the desktop, and no administrative rights are required for installation.

In addition to the deployment location, the deployment manifest also contains an update location (a Web page or network file share) where the application checks for updated versions. ClickOnce Publish properties are used to specify when and how often the application should check for updates. Update behaviour can be specified in the deployment manifest, or it can be presented as user choices in the application’s user interface by means of the ClickOnce APIs (Application Programming Interfaces). In addition, Publish properties can be employed to make updates mandatory or to roll back to an earlier version.

ClickOnce versus the current client install – Comparison Table

The following table compares the features of ClickOnce deployment with the current Client Installer deployment:

Feature

ClickOnce

Current Client Install

Automatic update Yes Yes
Post-installation rollback Yes No
Update from Web Yes No
Does not affect shared components or other applications Yes No
Security permissions granted Grants only permissions necessary for the application (more safe) Grants Full Trust by default (less safe)
Security permissions required Internet or Intranet Zone (Full Trust for CD-ROM installation) Administrator
Installation-time user interface Single prompt Multipart Wizard
Installation of assemblies on demand Yes No
Installation of drivers No Yes (with custom actions)
Add application to Start menu Yes Yes
Add application to Favourites menu No Yes
Application installation location ClickOnce application cache Program Files folder


Comments

Popular posts from this blog

Simple and Versatile Navigation – Tree View

Creating Online Portfolio Gallery Tutorials

Easter Eggs on Windows NT