ClickOnce: Microsoft ClickOnce Technology // Contains details about click once technology. Visist the site. It also contains Differences between ClickOnce and Windows Installer (MSI), Choosing Between ClickOnce and Windows Installer, ClickOnce Presentations at PDC 2003 etc.

Microsoft ClickOnce Technology

See also:

ClickOnce is a technology that allows developers to write Windows Forms applications that utilize the powerful features of the client, yet are as hassle-free to deploy and update as a Web page. Here is a list of some introductory articles and webcasts. Links to additional articles and related blogs can be found below.

Books about ClickOnce

ClickOnce Tools and Samples

"dasBlonde" ClickOnce Samples

A package of samples that show how to detect a ClickOnce application from one that is not, along with other important states such as IsNetworkDeployed, detecting first run ever versus first run since last update, using the data directory or the isolated storage for local user storage, how to use a custom setup project (MSI) that deploys a GAC dependency for a ClickOnce application, as a bootstrapped MSI, how to download of required files on demand, manually detecting updates, and more. These samples can be found at "dasBlonde", the blog of Michéle Leroux Bustamante.

Visit Web Site

Bootstrapper Manifest Generator

The Bootstrapper in Visual Studio 2005 allows developers to add components to be redistributed along with their applications, allowing a single starting point to install applications and their prerequisites. For example, users can now run a single setup.exe that will install the .NET Frameworks, SQL Server Express, and your application over the web, from a CD, or from a UNC path. A bootstrapper is the only way to deploy prerequisites for a ClickOnce setup. This tool makes it much easier to add your own prerequisites to the bootstrapper.

Visit Web Site


ClickOnceMore is a commercial tool from Red Sky Software

ClickOnceMore is an easy to use ClickOnce application that assists .Net developers in creating the manifest files necessary for an effective ClickOnce deployment.

Visit Web Site

Known Problems with ClickOnce

Nothing happens when you try to install the WinForms app from the auto-generated PUBLISH.HTM within Internet Explorer
This can be caused by a iexplore.exe.config file in the IE directory, containing
<supportedRuntime version="v1.1.4322"/>
For details see Frank Prengel’s Blog

ClickOnce does not support FireFox
ClickOnce provides an implemention of the IE mime handler interface for the mime type application/x-ms-application which is associated with .application files on servers hosting ClickOnce application. Hence when a user clicks on a .application in IE our mime handler is invoked which downlods the .application file and fires up the ClickOnce install. When a user clicks on a .application in FireFox the FireFox equivalent of the Open/Save dialog comes up.
For a discussion of possible workarounds see Saurabh Pant’s Weblog

ClickOnce Articles and WebCasts

Deploying Visual Basic 2005 Applications Using ClickOnce (WebCast)

Once you have your Microsoft Visual Basic 2005 applications developed and tested, is it taking too long to deploy them? This webcast can help you change that; it shows how easy it is to deploy Visual Basic 2005 applications with the ClickOnce deployment model. Join us for a look at deployment, security and signing, and bootstrapping prerequisite components for your solution.

View Recording (recorded July 21, 2006)

Secure Smart Client Deployment Using ClickOnce (WebCast)

ClickOnce provides an easy-to-use and flexible mechanism for getting smart client applications in the hands of end users with minimal administrative effort. ClickOnce also provides built-in protections during installation and at runtime for the machine on which you are deploying the application. This webcast describes what security mechanisms are available, how they work, and how to best utilize them for a number of scenarios. We discuss and demonstrate how ClickOnce isolates applications and how permissions are granted. We also show how to use the Trusted Application Deployment technology to deploy applications with elevated privileges on a user’s machine, based on either user prompting or trusted publishers.

View Recording (recorded July 6, 2006)

ClickOnce WebCast Series

Using Visual Studio’s ClickOnce Technology to Deploy a Smart Client Application (Level 200)
You’ve decided to implement a Smart Client architecture for your application. The new ClickOnce technology, available in Visual Studio 2005, can make your deployment strategy significantly more flexible and easier to implement. During this session, you will learn how to incorporate ClickOnce into your application, as well as explore some of the key design decisions you will need to consider to ensure maximum flexibility in deployment without sacrificing security.
View recorded Webcast (recorded June 7, 2005)

Detecting and Deploying Prerequisites for Your Application with ClickOnce (Level 300)
Your application depends on the existence of some other software on the end user’s workstation. What is the best way to ensure a smooth deployment? This webcast will explore some of the recommended techniques for determining whether the workstation already has the prerequisites your application needs, and how to incorporate the installation of these prerequisites seamlessly into your application’s deployment process.
View recorded Webcast (recorded June 14, 2005)

Using ClickOnce to Deploy an Application with Elevated Security Requirements (Level 300)
One of the key advantages to building a rich smart client application is the ability to perform activities on the user’s workstation that require higher privileges than a simple Web application can be granted. During this webcast, learn how to use the security features of ClickOnce to check for the specific permissions your code needs to accomplish its tasks. We also discuss best practices for handling situations where the required permissions are not available.
View recorded Webcast (recorded June 21, 2005)

Building a ClickOnce Toolkit (Level 400)
You have mastered the basics of how it works and what you can do with it, but now it’s time to incorporate more advanced ClickOnce technology in Microsoft Visual Studio 2005 functionality into your solution. During this 60-minute webcast we will demonstrate some sample code blocks you can use and show how to encapsulate all of your updating functionality into a reusable class library that includes "toast" notification of application updates.
View recorded Webcast (recorded June 28, 2005)

Simplify App Deployment with ClickOnce and Registration-Free COM (MSDN Magazine)

This article from the April 2005 edition of MSDN Magazine explains the benefits and the limitations of Reg-Free COM, and how to isolate existing COM components and ActiveX controls using Visual Studio 2005. Reg-Free COM is not limited to ClickOnce but can also be useful for other setup technologies.

MSDN Magazine (April 2005)

Introducing ClickOnce – Web Deployment for Windows Forms Applications (WebCast)

In this MSDN TV show Jamie Cool, program manager in the .NET client team at Microsoft, explains the idea behind ClickOnce, shows how to create a ClickOnce installation using a alpha release of the next version of Visual Studio, and demonstrates some deployment samples. (Windows Media, 23 minutes)

Microsoft Download Center (January 2004)

Deploying Windows Forms Applications with ClickOnce (MSDN Library)

ClickOnce is a new Windows Forms deployment technology that will ship with Visual Studio 2005. It enables easy application installation and upgrading of Web applications with smart clients. The deployment of Windows Forms applications through HTTP has been available since the first version of the .NET Framework and has been evolving ever since. This article discusses the advantages of Windows Forms applications and the evolution of this technology leading up to ClickOnce. It also shows a simple example using the public Beta 1 version of Visual Studio 2005.

Read article in MSDN Library (December 2004)

Deutsche Version dieses Artikels

Windows Forms-Anwendungen mit ClickOnce (MSDN Bibliothek)

In diesem Artikel wird die ClickOnce-Technologie erläutert und mit anderen Bereitstellungstechnologien verglichen. Zudem zeigt der Autor, wie Sie ClickOnce in Ihren Anwendungen verwenden können.
ClickOnce ist eine neue Bereitstellungstechnologie für Windows Forms, die in Visual Studio 2005 enthalten ist. Mit ClickOnce können Sie Anwendungen einfach installieren und Webanwendungen mit Smart Clients einfach aktualisieren. Die Bereitstellung von Windows Forms-Anwendungen über HTTP ist seit der ersten Version des .NET Framework verfügbar und wurde seither ständig weiterentwickelt. In diesem Artikel werden die Vorteile von Windows Forms-Anwendungen und die Entwicklung dieser Technologie bis hin zu ClickOnce erläutert. Außerdem enthält er ein einfaches Beispiel, in dem die offizielle Beta 1-Version von Visual Studio 2005 verwendet wird.

Artikel in der MSDN Bibliothek lesen (Februar 2005)

ClickOnce: Deploy and Update Your Smart Client Projects Using a Central Server (MSDN Magazine)

This article from the May 2004 edition of MSDN Magazine discusses using ClickOnce to deploy real apps, versioning benefits, and programmatic and automatic updating.

MSDN Magazine (May 2004)

Deploy Smart Client Applications with ClickOnce (WebCast)

A key enabler for adopting Smart Client architecture is having an easy and flexible way to deploy client applications to the users’ desktop. ClickOnce is a new capability built into the .NET 2.0 runtime that allows you to automatically deploy applications to the user through a single user action – clicking on a link to the application on a single deployment server. ClickOnce supports numerous automatic and manual update scenarios, and has strong security measures built in. This webcast will describe and demonstrate the capabilities of ClickOnce for deploying and updating client applications in a trustworthy, secure, and easy to use manner.

View Recording (August 2004)

Introducing Client Application Deployment with "ClickOnce" (Book Chapter)

MSDN has published a draft chapter from the forthcoming Addison Wesley title "Essential ClickOnce". Duncan Mackenzie describes how "ClickOnce" will simplify client deployment of Whidbey applications.

Microsoft Developer Network (October 2003)

ClickOnce Deployment Overview (TechNet Library)

Topics in this article: What is a ClickOnce Application? How ClickOnce Deployment Works. ClickOnce and Windows Installer Comparison Table.

Read article in TechNet Library

German MSDN WebCast

Software-Deployment der nächsten Generation von .NET (WebCast)

Keine Installation (in eigentlichen Sinne) mehr. Updates automatisch. Bestimmen, wann nach Updates gesucht werden soll. Und wie. Rollback zur Vorversion. .NET Interfaces. Adé DLL Hölle. Beschränken der Rechte von ausführbarem Code. Unabhängig vom Benutzer. Sandbox-Debugging. … Klingt nach Zukunftsmusik.
Wieviel davon wahr wird in der nächsten Generation von .NET, wird Ihnen hier näher gebracht.

(Während der ersten Demo ist leider nur Audio zu hören, die Bildaufzeichnung ist ausgefallen. Ein Teil dieser Demo wird aber am Ende des WebCasts wiederholt)

Info-Seite zum WebCast (Dezember 2004)
direkt zur Wiedergabe (Dezember 2004)

Additional Click Once Articles


ClickOnce FAQ

On there’s a FAQ that answers frequently asked questions about ClickOnce.

ClickOnce FAQ

Questions & Answers

Does ClickOnce use Windows Installer (MSI) technology?

No, ClickOnce is a technology completely separate from Windows Installer.

Why is Microsoft introducing a new installer technology?

ClickOnce should fill the gap between web applications that run in the browser, and rich client applications that are installed using MSI. The intention is to bring the robustness and ease of use of web application deployment to client applications.

Will ClickOnce replace Windows Installer (MSI)?

No. The two technologies will co-exist. There are a number of scenarios where you can’t use ClickOnce. See the table below for additional information.

Can I use ClickOnce to deploy applications today?

No, but you can play with it. Runtime support for ClickOnce requires a new version of the .NET Framework, which is included in the "Longhorn" SDK that’s available to MSDN subscribers.
Extended client side support for ClickOnce will be included in the next version of Windows, code named "Longhorn". A preview of "Longhorn" is also available to MSDN subscribers.

Which tools are available to build ClickOnce setups?

Building ClickOnce installations will be supported in Microsoft Visual Studio 2005, code named "Whidbey" (see Microsoft’s Developer Tools Roadmap for additional information). Preview and Beta versions of Visual Studio 2005 are available from Microsoft.
At PDC 03 InstallShield showed a pre-release version of DevStudio with ClickOnce support.

Some Differences between ClickOnce and Windows Installer (MSI)

ClickOnce Windows Installer (MSI)
Prerequisites ClickOnce requires that version 2.0 of the .NET framework is already installed on the target machine. You can use an old-fashioned bootstrapper exe to ensure this.
If your application requires runtime packages such as MDAC, MSDE etc. on the target computer again you must use a bootstrapper exe to install them. This cannot be achieved with ClickOnce.
The MSI runtime is required on the target computer. You can use a bootstrapper exe to install it. The current Windows versions already include the MSI runtime.
If your application requires runtime packages such as MDAC, MSDE etc. on the target computer, it’s often a good idea to use a bootstrapper exe to install them, although in some cases it’s possible to install them using a custom action inside your MSI setup.
User input Installing an application via ClickOnce requires two clicks: a click on a hyperlink to launch the install, and clicking Yes on the confirmation dialog. The rest of the UI is a progress bar. There is no way to collect input from the user. Any personalization has to be done inside the application, e.g. on first run. Typically displays a wizard sequence where users can enter a user name and serial number, select features and installation directory, etc. If you run a MSI setup in BasicUI mode you get a user experience that’s somewhat similar to ClickOnce.
Per-user and per-machine installations ClickOnce installations are always for the current user only. Per-machine installations are impossible. If multiple users on a machine install the same software you end up with multiple copies of your application files. You can specify per-user installations and per-machine installations that are available to all users on the system.
Installation directory You application files will always be copied to the My Applications folder under the user’s My Documents folder. You can specify the installation directory for your application files at design time or at run time.
Shortcuts A shortcut to your application will be placed in the Start menu under Programs > Your Company Name. This is not customizable. You cannot create shortcuts on the desktop. You can create as many shortcuts as you need in any place you wish, including the Start menu and the desktop.
Target computer modifications Besides copying the application files and creating a Start menu shortcut ClickOnce installations cannot modify the target computer. Can create and modify files, registry entries etc. on the target computer, only limited by access permissions set by the administrator.
Application isolation ClickOnce applications are isolated from each other and the operating system. A ClickOnce setup cannot damage the target computer. Replacing system files and modifying registry entries can cause all sorts of problems on the target computer ("DLL Hell").
Update installation ClickOnce can automatically detect when a newer version of your application is available and download and install the update.
Only the modified files are downloaded, but always complete files, not parts of files.
Detecting available updates requires additional tools, this is not built into MSI.
Patches can include either modified files in whole, or only the changed parts of a file (binary difference) which may result in a smaller download.
Manageability ClickOnce applications (and updates) are published simply by posting them on the web or file server. There is no method to push them to clients during off work hours and there are no inventory or other management functions built in. MSI packages work nicely with management and deployment tools such as Active Directory and SMS.

Choosing Between ClickOnce and Windows Installer

Michael Sanford takes an in-depth look at the .NET Framework 2.0 ClickOnce technology and compares it with the existing Windows Installer technology. Michael concludes by making some recommendations on when to use each technology.

MSDN Article (January 2005)

ClickOnce Presentations at PDC 2003

On the 2003 Professional Developers Conference (PDC 03) in Los Angeles, Microsoft presented a new installation technology code named "ClickOnce". Session recordings are no longer available online, but you can still download the Powerpoint slides.

Introducing ClickOnce: The New Web Based Application Deployment for Windows Forms and “Avalon”

Learn how you can write Windows applications that utilize the powerful features of the client, yet are as hassle-free to deploy and update as a Web-page. "Whidbey" introduces a technology called ClickOnce, which allows developers to deploy and update their applications by simply copying the files to a Web-site and doesn’t require separate setup authoring. These applications are isolated from other applications, and as a result have the TCO advantages of a Web browser-based application. "Longhorn" takes your investment in ClickOnce forward and adds great additional capabilities such as background updates, full desktop shell integration, progressive rendering, and more.
(Session CLI370 held by Jamie Cool, Program Manager, .NET Client team)

Download Powerpoint Slides

ClickOnce: Advanced Topics in Web Based Application Deployment for Windows Forms and "Avalon"

Learn everything you ever wanted to know about the new ClickOnce deployment technology in "Whidbey" and "Longhorn." Learn the nuts and bolts of how ClickOnce works and all of the tips and tricks to using the ClickOnce deployment technology today. Drill into advanced topics such as how to use the new deployment APIs to customize how your application gets updated. Hear about the security aspects of deploying client applications over the web; what you need to know as the application developer and what you need to know as the admin.
This session includes a demonstration of ClickOnce support in InstallShield.
(Session CLI400 held by Jamie Cool, Program Manager, .NET Client team)

Download Powerpoint Slides

Visual Studio "Whidbey": Deploying Applications Using ClickOnce

Imagine all the benefits of the Web application deployment model brought to the Windows client application! With a focus on no-touch deployment, Visual Studio "Whidbey" makes strides in all areas of application deployment. This session covers new "Whidbey" deployment capabilities for offline application support, rolling back to previous versions of an application, listing an application in the Start Menu and control panel, .NET Framework redistribution, and zone-based debugging.
(Session TLS344 held by Sean Draine, Program Manager, Visual Basic team)

Download Powerpoint Slides


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s