ClickOnce

Last updated
Installation of a ClickOnce application Click1c.PNG
Installation of a ClickOnce application

ClickOnce is a component of Microsoft .NET Framework 2.0 and later, and 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.

Contents

Description

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. Administrator privileges are not required to install these applications. Each ClickOnce application is isolated from the others. This means one ClickOnce application is not able to "break" another. ClickOnce employs Code Access Security (CAS) to prevent system functions being 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 an internet location, a network share, or a local file location such as a CD-ROM.

The ClickOnce deployment technology has been integrated into Visual Studio 2005 and later. It is also natively supported by MSBuild, Microsoft's build management technology.

Manifests

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

Currently, ClickOnce will only launch if the URL to the deployment manifest is opened using Internet Explorer or Edge. If the deployment URL is launched from another application such as Outlook, Word, or Excel, the application launch will only be successful if Internet Explorer or Edge is set as the default browser. [1]

Updates

ClickOnce applications can be self-updating. They can check for newer versions as they become available and automatically replace any updated files. Depending on the installation type, 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 mandatory updates, ensuring that the entire user-base can be moved to a new version in a timely manner.

Browser support

Native support for ClickOnce applications is only available via Internet Explorer and Edge.

With the release of .NET Framework 3.5 with Service Pack 1, Microsoft included a Firefox add-on called .NET Framework Assistant that enabled ClickOnce support in Firefox 3 and later. [2] The first release of this extension 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. [3] 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. [4]

Other browsers may have third-party extensions available that add ClickOnce support such as Menarva Ltd's ClickOnce for Google Chrome.

See also

Related Research Articles

<span class="mw-page-title-main">Internet Explorer</span> Web browser series by Microsoft

Internet Explorer is a retired series of graphical web browsers developed by Microsoft that were used in the Windows line of operating systems. While IE has been discontinued on most Windows editions, it remains supported on certain editions of Windows, such as Windows 10 LTSB/LTSC. Starting in 1995, it was first released as part of the add-on package Plus! for Windows 95 that year. Later versions were available as free downloads or in-service packs and included in the original equipment manufacturer (OEM) service releases of Windows 95 and later versions of Windows. Microsoft spent over US$100 million per year on Internet Explorer in the late 1990s, with over 1,000 people involved in the project by 1999. New feature development for the browser was discontinued in 2016 and ended support on June 15, 2022 for Windows 10 Semi-Annual Channel (SAC), in favor of its successor, Microsoft Edge.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">ActiveX</span> Software framework by Microsoft introduced in 1996

ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. Microsoft introduced ActiveX in 1996. In principle, ActiveX is not dependent on Microsoft Windows operating systems, but in practice, most ActiveX controls only run on Windows. Most also require the client to be running on an x86-based computer because ActiveX controls contain compiled code.

Extensible Application Markup Language is a declarative XML-based language developed by Microsoft for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.

This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.

<span class="mw-page-title-main">Internet Explorer 7</span> Web browser for Windows

Windows Internet Explorer 7 (IE7) is a version of Internet Explorer, a web browser for Windows. It was released by Microsoft on October 18, 2006. It was the first major update to the browser since 2001. It does not support versions of Windows earlier than Windows XP and Windows Server 2003.

Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.

<span class="mw-page-title-main">Mozilla Corporation</span> American software company

The Mozilla Corporation is a wholly owned subsidiary of the Mozilla Foundation that coordinates and integrates the development of Internet-related applications such as the Firefox web browser, by a global community of open-source developers, some of whom are employed by the corporation itself. The corporation also distributes and promotes these products. Unlike the non-profit Mozilla Foundation, and the Mozilla open source project, founded by the now defunct Netscape Communications Corporation, the Mozilla Corporation is a taxable entity. The Mozilla Corporation reinvests all of its profits back into the Mozilla projects. The Mozilla Corporation's stated aim is to work towards the Mozilla Foundation's public benefit to "promote choice and innovation on the Internet."

<span class="mw-page-title-main">Windows Media Center</span> Digital video recorder and media player created by Microsoft

Windows Media Center (WMC) is a digital video recorder and media player created by Microsoft. Media Center was first introduced to Windows in 2002 on Windows XP Media Center Edition (MCE). It was included in Home Premium and Ultimate editions of Windows Vista, as well as all editions of Windows 7 except Starter and Home Basic. It was also available on Windows 8 Pro and Windows 8.1 Pro as a paid add-on. It was discontinued as of Windows 10 and the operating system also removes all of Windows Media Center during an upgrade from previous versions of Windows, although it can reportedly be unofficially reinstalled using a series of Command Prompt commands.

<span class="mw-page-title-main">User Account Control</span> Security software

User Account Control (UAC) is a mandatory access control enforcement feature introduced with Microsoft's Windows Vista and Windows Server 2008 operating systems, with a more relaxed version also present in Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, Windows 10, and Windows 11. It aims to improve the security of Microsoft Windows by limiting application software to standard user privileges until an administrator authorises an increase or elevation. In this way, only applications trusted by the user may receive administrative privileges and malware are kept from compromising the operating system. In other words, a user account may have administrator privileges assigned to it, but applications that the user runs do not inherit those privileges unless they are approved beforehand or the user explicitly authorises it.

A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and styling of web pages.

An HTML Application (HTA) is a Microsoft Windows program whose source code consists of HTML, Dynamic HTML, and one or more scripting languages supported by Internet Explorer, such as VBScript or JScript. The HTML is used to generate the user interface, and the scripting language is used for the program logic. An HTA executes without the constraints of the internet browser security model; in fact, it executes as a "fully trusted" application.

<span class="mw-page-title-main">Microsoft Silverlight</span> Application framework for writing and running rich Internet applications

Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.

A browser toolbar is a toolbar that resides within a browser's window. All major web browsers provide support to browser toolbar development as a way to extend the browser's GUI and functionality. Browser toolbars are considered to be a particular kind of browser extensions that present a toolbar. Browser toolbars are specific to each browser, which means that a toolbar working on a browser does not work on another one. All browser toolbars must be installed in the corresponding browser before they can be used and require updates when new versions are released.

<span class="mw-page-title-main">Moonlight (runtime)</span> Implementation of Microsoft Silverlight for some Unix-based operating systems

Moonlight is a discontinued free and open source implementation for Linux and other Unix-based operating systems of the Microsoft Silverlight application framework, developed and then abandoned by the Mono Project. Like Silverlight, Moonlight was a web application framework which provided capabilities similar to those of Adobe Flash, integrating multimedia, graphics, animations and interactivity into a single runtime environment.

XAML Browser Applications are Windows Presentation Foundation (.xbap) applications that were intended to run inside a web browser such as Firefox or Internet Explorer through the NPAPI interface. Due to NPAPI being phased out in recent years, and from lack of support, there are currently no browsers that support XBAP applications.

Direct2D is a 2D vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008.

Side-by-side assembly technology is a standard for executable files in Windows 98 Second Edition, Windows 2000, and later versions of Windows that attempts to alleviate problems that arise from the use of dynamic-link libraries (DLLs) in Microsoft Windows. Such problems include version conflicts, missing DLLs, duplicate DLLs, and incorrect or missing registration. In side-by-side, Windows stores multiple versions of a DLL in the %systemroot%\WinSxS directory, and loads them on demand. This reduces dependency problems for applications that include a side-by-side manifest.

<span class="mw-page-title-main">Progressive web app</span> Specific form of single page web application

A progressive web application (PWA), or progressive web app, is a type of web app that can be installed on a device as a standalone application. PWAs are installed using the offline cache of the device's web browser.

<span class="mw-page-title-main">App Installer</span> Software component of Windows 10

App Installer is a software component of Windows 10, introduced in the 2016 Anniversary Update, used for the installation and maintenance of applications packaged in .appx or .appxbundle installation packages; they are loosely relational databases with an XML app manifest. The .appx and .appxbundle files contain either a Win32 or a Universal Windows Platform app, icons for the Start menu and taskbar, a virtualized version of any Windows Registry keys needed, and any other assets needed for the installed app to function.

References

  1. "Server and Client Configuration Issues in ClickOnce Deployments - Visual Studio 2015". 15 November 2016.
  2. "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.
  3. "List of changes and fixed issues in the .NET Framework 3.5 Service Pack 1". Microsoft Support. Microsoft Corporation. 17 July 2009. 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.
  4. "How to remove the .NET Framework Assistant for Firefox". Microsoft Support. Microsoft Corporation. 16 February 2010. 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~]