Fact-checked by Grok 2 weeks ago

ClickOnce

ClickOnce is a deployment technology developed by that enables the creation of self-updating Windows-based applications, such as those built with , Windows Presentation Foundation (WPF), console applications, and Office solutions, which can be installed and run with minimal user interaction. Introduced as part of the .NET Framework 2.0 in 2005, it addresses key challenges in application deployment by simplifying installation, updates, and security management without requiring administrative privileges on the target machine. Key features of ClickOnce include automatic updates that download only the changed application components, ensuring efficient usage and seamless . Applications are self-contained and isolated in a user-specific , preventing versioning conflicts with other software on the system. It supports both online-only mode, where the application runs directly from a network location, and offline for local execution, with deployment possible via servers, network shares, or like CD-ROMs. ClickOnce relies on XML-based application and deployment manifests to define files, versions, and prerequisites, facilitating reliable . Security is a core aspect of ClickOnce. For .NET Framework applications, it runs under partial trust by default to limit potential risks, enforced through digital certificates and user consent prompts for elevated permissions. For .NET Core 3.1 and .NET 5 or later, partial trust is unsupported and applications run in full trust, with security relying on via Authenticode certificates. This approach balances ease of deployment with protection against malicious code, allowing non-administrators to install trusted applications safely. Support for ClickOnce extends to modern .NET versions, including .NET Core 3.1 and .NET 5 or later, using tools like dotnet-mage.exe for manifest generation in environments.

Introduction

Overview

ClickOnce is a deployment technology developed by for .NET Framework and .NET applications, enabling installation and automatic updates specifically for Windows desktop applications such as Windows Forms, Windows Presentation Foundation (WPF), and console applications. It addresses common challenges in software distribution by allowing applications to be published to web servers, network shares, or , where end users can install or run them with minimal intervention. The technology's primary benefits include simplified deployment that does not require administrator rights for installation, as applications are installed in a secure, per-user isolated from the system to prevent conflicts with other software. Automatic updates ensure that only modified components are downloaded, reducing usage and keeping applications current without manual intervention. Additionally, ClickOnce integrates seamlessly with , providing built-in publishing tools to streamline the development-to-deployment pipeline. In its basic workflow, a clicks a deployment link in a or accesses a shared location, prompting the application to from the , install in the , and launch either or offline as configured. At a high level, ClickOnce incorporates partial execution to enforce boundaries by limiting application permissions based on the deployment zone, and it supports capabilities that allow users or administrators to revert to prior versions in case of issues.

History

ClickOnce was introduced in 2005 as part of the .NET Framework 2.0, integrated with Visual Studio 2005, to simplify the web-based deployment of Windows desktop applications by enabling easy installation and automatic updates without requiring administrative privileges. This technology evolved from earlier deployment methods, such as No-Touch Deployment in the .NET Framework 1.1, which allowed running applications directly from a but lacked robust update mechanisms, and (MSI), which provided more comprehensive but complex installation processes. Key enhancements followed in subsequent .NET Framework releases. With .NET Framework 3.0 in 2006, ClickOnce gained support for Windows Presentation Foundation (WPF) applications, enabling richer user interfaces through browser-hosted or standalone deployments. Further improvements arrived in .NET Framework 3.5 (2007), and in .NET Framework 4.0 (2010), which introduced security enhancements like improved code access security and more robust update handling to reduce failures. Support continued through .NET Framework 4.8, released in 2019, which remains the final major version of the full .NET Framework and fully backs ClickOnce for Windows Forms and WPF apps. As shifted focus to the cross-platform .NET (formerly .NET Core), starting with .NET Core 3.1 in 2019, ClickOnce support was adapted for Windows-only desktop applications via the MSBuild-based Publish tool, allowing deployment of .NET 5 and later versions but without native cross-platform capabilities. As of 2025, ClickOnce remains supported on Windows for .NET 9 with no announced full deprecation.

Deployment and Installation

Supported Applications

ClickOnce primarily supports Windows desktop applications built on the .NET Framework or .NET (formerly .NET Core), including applications for traditional graphical user interfaces, Windows Presentation Foundation (WPF) applications leveraging XAML for rich, declarative UIs, and console applications for command-line operations. It also provides limited integration for Office solutions, such as (VSTO) add-ins, enabling deployment of custom extensions for applications like Excel or Word through the same publishing mechanisms. Applications compatible with ClickOnce must be developed using managed .NET languages such as C# or , targeting either the .NET Framework (version 2.0 and later) or modern .NET versions starting from .NET Core 3.1 and .NET 5 onward for Windows desktop scenarios; native applications written in unmanaged languages like C++ are not supported, as ClickOnce relies on the .NET for execution and deployment. Similarly, cross-platform .NET applications, such as those using .NET for multi-platform deployment, require additional tooling like MSIX packaging for non-Windows environments, as ClickOnce is inherently tied to Windows-specific and execution models. Deployments typically involve a single or a set of related assemblies, ensuring the application can be self-contained without complex native dependencies. ClickOnce offers two main deployment modes to accommodate different user needs: online mode, where the application launches directly from a location and requires an connection for initial access and updates, and offline mode, which installs the application locally on the user's for execution without dependency after setup. These modes suit various use cases, such as tools distributed via internal networks for online access or standalone internal applications like consoles that benefit from offline installation for remote workers. Key limitations include restrictions on application size and type to ensure reliable web-based deployment; by default, the zone quota for online applications is 250 MB, with partial-trust applications capped at half that amount (125 MB) to prevent risks, though full-trust scenarios may allow larger sizes with elevation. ClickOnce does not kernel-mode drivers, system services, or applications requiring administrative privileges for installation of shared components, as it operates within a -context to maintain .

Installation Process

Developers can publish ClickOnce applications using by right-clicking the project in Solution Explorer and selecting Publish, which opens the Publish wizard to configure the deployment profile. This process generates a setup.exe bootstrapper file, which handles prerequisite installations like the .NET , and a .application deployment that describes the application. Publishing options include specifying the location as a folder, path, HTTP/ website, , or removable media such as CD/DVD/USB. Alternatively, developers can use MSBuild from the command line with the /target:publish option to build and deploy the application, producing the same setup.exe and .application files in a Publish subfolder. For end users, begins when clicking a web link to the .application file, prompting the to download and install automatically if the required version is absent on the system. The application then installs to a user-specific in %LocalAppData%\Apps\2.0 without requiring administrator privileges, enabling seamless deployment across standard user accounts. Users are presented with options to either run the application online (without full or integration) or install it for offline access, which adds a shortcut. Common installation errors include certificate validation failures, where an untrusted or invalid Authenticode certificate triggers a user trust prompt or blocks the process entirely if not signed properly. Network timeouts may occur during manifest downloads from HTTP/HTTPS or FTP locations, potentially requiring retry or manual intervention, though specific handling is managed by the .NET runtime. In cases of failed updates during installation, ClickOnce supports rollback to a previous version, configurable through publishing properties or APIs to restore stability. Customization during publishing allows developers to specify a publisher name in the Project Designer’s Publish page, which appears in dialogs and shortcuts. Enabling offline availability creates shortcuts, while file associations can be defined in the Publish Options to link document types to the application upon launch. These manifests outline the details, such as entry points and prerequisites.

Core Components

Manifests

ClickOnce relies on two primary XML manifest files to define the identity, dependencies, and deployment parameters of an application, serving as the foundational descriptors that enable the runtime to locate, install, and verify the necessary components. The deployment manifest, typically with a .application file extension, outlines the overall deployment structure, including the application version, entry point, and update location, while the application manifest, with a .manifest file extension, provides detailed specifications for the application's assemblies, files, permissions, and runtime dependencies. These manifests adhere to specific XML schemas that ensure compatibility and consistency across deployments. Key elements in the deployment manifest include the top-level <assembly> tag, which encapsulates the manifest version (e.g., "1.0") and contains an <assemblyIdentity> element specifying the application's name, version (such as "1.0.0.0"), public key token, processor architecture, and . The <deployment> element defines critical URLs, such as the deployment provider for updates (e.g., a like "\myServer\sampleDeployment\MyApplicationDeployment.application") and installation settings, while the <compatibleFrameworks> section lists supported .NET Framework s (e.g., "4.0"). In the application manifest, the <assemblyIdentity> identifies the primary with attributes like name and , the <entryPoint> specifies the executable , and <dependency> elements detail required assemblies and their codebases with size attributes for verification. Additionally, <file> elements describe non-assembly s, including their names, sizes, and optional groupings, and <trustInfo> outlines permission sets, such as unrestricted access. Manifests are generated automatically during the publishing process in Visual Studio via the Publish Wizard or MSBuild tasks like GenerateApplicationManifest and GenerateDeploymentManifest, which compile project details into the XML structure. For custom configurations, such as adding prerequisites like .NET runtime installers, developers can manually edit manifests using tools like Mage.exe for .NET Framework applications or dotnet-mage.exe for .NET 5 and later, ensuring the XML remains well-formed and schema-compliant. During download and installation, these manifests facilitate integrity checks by comparing file hashes and sizes against the declared values, preventing deployment if tampering is detected and thus maintaining application reliability. This validation process supports seamless updates by referencing the deployment manifest's provider URL to fetch new versions when available.

Assemblies

In ClickOnce deployments, .NET assemblies serve as the fundamental building blocks of an application, consisting of executable files (EXEs) and dynamic-link libraries (DLLs) that contain the compiled code, , and resources necessary for the application's functionality. These assemblies are managed within the .NET model, where they can be either strongly named—providing unique identification through a public key token, , and to enable secure sharing—or weakly named for simpler, non-shared scenarios. Additionally, satellite assemblies are utilized to support localization, encapsulating culture-specific resources such as strings and images in separate DLLs that align with the client's current culture, allowing the main application to remain neutral and adaptable across languages. ClickOnce packages these assemblies by bundling them into the per-user application cache, a hidden located under the user's Local Settings folder (typically at %LocalAppData%\Apps\2.0), ensuring and easy access without requiring administrative privileges. During deployment, each is hashed using the algorithm to verify integrity, with the hash value embedded in the application to detect any tampering or corruption before . For large applications, ClickOnce supports on-demand downloading of assemblies. For applications, this is via the System.Deployment.Application API, where optional assemblies are marked in the and retrieved asynchronously only when first referenced at , reducing initial size and bandwidth usage. In .NET 5 and later, this functionality has limitations, with programmatic access unavailable in .NET Core 3.1 to .NET 6 and supported via environment variables in .NET 7+. The application references these assemblies, specifying their dependencies and groups to orchestrate the process. At runtime, assemblies are loaded from the ClickOnce cache using the runtime's assembly resolution mechanisms. In the .NET Framework, this is handled by the assembly loader, which performs just-in-time resolution by probing the ClickOnce cache first, then falling back to standard locations like the (GAC) if needed, while respecting strong or weak naming to prevent version conflicts. In .NET 5 and later, resolution uses the .NET runtime's dependency resolver without a GAC. This process ensures per-application , as each ClickOnce app operates within its own cache subdirectory, avoiding interference from other applications or system-wide assemblies. Fusion handles resolution events, such as AssemblyResolve, allowing custom logic for on-demand loading if an assembly is not immediately available in the cache. Assembly management in ClickOnce involves automatic cleanup to maintain efficiency, where unused versions are removed from the cache upon successful updates, retaining only the current and immediately previous version to support if necessary. The enforces limits to prevent disk exhaustion, with a default quota of 250 MB for online (non-installed) applications—excluding data files—configurable via registry settings, while installed applications face no such restriction but still benefit from cleanup mechanisms. This approach ensures reliable storage and retrieval without manual intervention.

Updating and Maintenance

Update Mechanisms

ClickOnce applications detect updates by checking the deployment at a specified upon launch or at configurable intervals. This process involves querying the deployment provider , typically an HTTP endpoint or path, to retrieve the latest deployment and compare its against the currently installed application . In .NET Framework applications, the check frequency can be set to occur before the application starts (to ensure the latest runs immediately) or after startup in the background (to minimize launch delays). For .NET 3.1 and .NET 5 or later, only before-startup checks are supported. Developers configure these options in the publish settings, with the before-startup method serving as the default for ensuring users always access the most recent . Once a newer version is detected, ClickOnce handles the and process, which can occur in the foreground (blocking the application until complete) or background (allowing continued use of the current version) in .NET Framework. Downloads use delta patching to transfer only the changed assemblies and files, reducing usage compared to full redeployments. Users may receive prompts to install the unless automatic installation is enabled; in such cases, the applies seamlessly upon the next application restart. The ApplicationDeployment. method in the .NET Framework enables synchronous or asynchronous downloads, returning true if an update succeeds or false otherwise, with error handling for issues like network failures. In .NET 7 and later, limited programmatic access to deployment properties is available via new APIs in the System.Deployment namespace. Update strategies in ClickOnce balance reliability and through versioning enforcement and deployment modes. Strict versioning, implemented via the minimumRequiredVersion attribute in the deployment , blocks downgrades by preventing the application from running if the installed version is older than specified, ensuring critical or fixes are applied. Inclusive strategies omit this attribute, allowing older versions to run while offering optional updates, which suits scenarios with variable network conditions. Applications deployed over the (via HTTP/HTTPS) support automatic checks and delta updates, whereas CD-based or offline deployments rely on manual checks or alternative UNC paths for updates. If an update fails, such as during a corrupted download, the application continues using the previously installed version. Developers exert fine-grained over updates through publish settings and manifest configurations. The Updates dialog in the Project Designer allows specifying the update location (e.g., a custom distinct from the installation source) and check frequency (e.g., every 7 days, though intervals are unsupported in modern .NET), with expiration periods via the maximumAge attribute to limit how long before rechecking. Programmatic in .NET Framework uses the System.Deployment.Application namespace, where methods like CheckForDetailedUpdate provide update availability details, and UpdateAsync enables non-blocking installations triggered by elements. These settings are embedded in the deployment manifest, which the application references during checks. For .NET Core 3.1 and later, configuration is limited to publish settings without programmatic beyond basic checks.

Versioning

ClickOnce employs a versioning model that distinguishes between assembly versions and deployment versions to facilitate updates while maintaining application integrity. The assembly version follows a four-part in the format major.minor.build.revision, such as 1.0.0.0, which is specified in the application's and embedded in the primary . This identifies the application's components and must be incremented for to ensure proper dependency , particularly for strong-named assemblies where mismatches can lead to runtime errors. In contrast, the deployment , also in the four-part format, is independent of the assembly and controls the ; it is set in the deployment and can use an (*) in the revision field for automatic incrementing during builds. Developers should never decrement any part of the numbers, as this can disrupt detection and lead to deployment failures. Compatibility in ClickOnce is governed by strict version comparison rules during updates. The runtime checks the deployment manifest's version against the installed version and skips the update if the new version is not higher, preventing unnecessary downloads or overwrites. For backward compatibility with dependencies, assembly binding redirects can be configured in the application's (app.config) to map requests for older assembly versions to newer ones, allowing seamless integration of updated components without recompiling the entire application. When incrementing assembly versions, especially for strong-named assemblies, all referencing assemblies must be recompiled to avoid binding failures. Version conflicts are mitigated through ClickOnce's cache management, which supports side-by-side installations of multiple application . Each is stored in a dedicated subdirectory within the per-user ClickOnce , ensuring of assemblies, data files, and configurations to prevent between . The retains only the current and previous by default, automatically cleaning up older ones during upgrades. For handling breaking changes, developers follow best practices such as incrementing the major number to signal incompatibility, recompiling dependent assemblies, and re-signing manifests to maintain trust and avoid deployment errors. Versioning is managed primarily through integrated development tools. In , the assembly version is defined in the AssemblyInfo.cs file, where developers set the [AssemblyVersion] attribute to control the four-part version for the compiled binaries. The deployment version is configured via the Publish tab in the project properties, allowing automatic revision increments on each publish. For post-build adjustments, such as updating versions manually, the Mage.exe tool (Manifest Generation and Editing Tool) is used to edit and sign the application and deployment manifests, ensuring consistency after changes. In .NET 5 and later, dotnet-mage.exe replaces Mage.exe for these operations.

Security Features

Code Access Security

ClickOnce applications leverage the .NET Framework's to enforce a partial trust execution model, particularly when deployed from untrusted sources such as the zone. By default, applications installed via ClickOnce from the receive a highly restrictive permission set, limiting access to sensitive resources like file I/O and the to prevent potential exploitation by malicious code. This partial trust approach allows applications to run without requiring full administrative privileges on the end user's machine, thereby enhancing for web-based deployments. Full trust can be granted if explicitly requested and approved, but it exposes the system to greater risks and is typically reserved for trusted environments. Permission sets in ClickOnce are predefined based on security zones, with the MyComputer zone granting full for locally installed applications, the zone applying partial trust with severe restrictions, and the Local zone providing moderate permissions for network shares. Developers can request custom permission sets through the <requestedPermissions> element in the application , allowing tailored access beyond zone defaults while still adhering to constraints. These permissions are configured via the Security page in Visual Studio's , where developers select a base zone and adjust individual permissions as needed. If an application demands permissions exceeding the default zone grants, users may encounter a trust prompt to approve the . The granting of permissions relies on evidence collected from the application's origin, including its security zone, installation site, and strong name identity, which collectively inform the policy evaluation. These policies operate at multiple levels—enterprise, machine, and user—enabling administrators to enforce organization-wide security configurations or allow user-specific overrides. For instance, strong name evidence can elevate for signed assemblies from verified publishers, influencing the final permission set applied at runtime. Although CAS was deprecated starting in .NET Framework 4.0 in favor of a simplified model that disables legacy policy enforcement by default, it remains applicable for ClickOnce applications targeting .NET Framework as of 2025, particularly in legacy environments where partial trust is still desired. However, does not recommend using for ClickOnce applications, even in .NET Framework, due to associated risks and issues. In contrast, ClickOnce deployments for .NET Core and .NET 5 or later do not support , requiring full trust execution instead. This transition underscores the shift toward more transparent practices, but continues to provide a viable partial trust option for compatible .NET Framework-based ClickOnce scenarios.

Authentication and Signing

ClickOnce employs Authenticode digital signing to authenticate the publisher and ensure the integrity of deployment manifests and application assemblies, mitigating risks such as tampering or malicious alterations. This process uses public-key infrastructure (PKI) certificates to bind the software to a verifiable identity, allowing users and the operating system to confirm the application's origin before installation. The signing process involves applying Authenticode signatures to both the application and deployment manifests using a code-signing in .pfx format. Developers can perform signing directly in by navigating to the project's Signing tab, selecting the "Sign the ClickOnce manifests" option, and choosing a from the Windows , a .pfx file, or generating a test (which defaults to SHA-256 hashing for compatibility with 3.5 and later). Alternatively, command-line tools like Mage.exe or signtool.exe from the Windows SDK can sign manifests with a .pfx , requiring the private key and optional . While signing is optional, it is essential for deployments over to enable trusted publisher identification and avoid warnings in modern browsers. Assemblies themselves may also be signed with strong names for additional checks, though this is separate from manifest signing. Certificates play a critical role in establishing : the publisher's , issued by a trusted (), is embedded in the signature to display verified identity details in the user interface, distinguishing it from self-signed test certificates that appear as "Unknown Publisher." chains are validated against the system's trusted root authorities during to ensure the issuer's legitimacy. Timestamping, applied via a trusted timestamp authority during signing, embeds a server-verified time to prevent expiration issues, allowing the signature to remain valid even after the lapses (typically extending validity by the timestamp server's policy period). status is checked through mechanisms like Certificate Revocation Lists (CRL) or (OCSP) as part of Windows' Authenticode validation, blocking if the is revoked. During installation, users encounter trust prompts in the or installer dialog, presenting the publisher's name, details, and application description for approval; unsigned or self-signed applications trigger heightened warnings, with options to proceed at the user's risk. Administrators can pre-trust publishers via to suppress prompts for enterprise deployments. Post-authentication, the application operates within the security boundaries defined by its , such as partial for Internet-sourced apps. Best practices emphasize using CA-issued certificates over self-signed ones for production, applying timestamps to all signatures, and preferring SHA-256 hashing algorithms, as has been deprecated by for code signing due to collision vulnerabilities since 2016. Extended Validation () code-signing certificates are recommended for enhanced trust indicators, improving SmartScreen reputation and reducing user hesitation in high-security environments.

Compatibility and Support

Browser and Platform Support

ClickOnce provides robust browser integration primarily for browsers, enabling seamless deployment of Windows applications via web links. It offers full support in the Chromium-based , where the feature is enabled by default and leverages the ClickOnce protocol along with DirectInvoke to handle file downloads and launches through registered Windows file handlers. Legacy support remains available in , allowing direct launches from web pages without additional configuration. However, integration is limited in and due to the deprecation of plugins—Chrome phased out support in 2015, and Firefox followed in 2017—necessitating third-party extensions like the ClickOnce Launcher for functionality, though these do not provide native reliability. Proper server configuration is essential, with the type application/x-ms-application required for .application files to ensure browsers recognize and process deployment manifests correctly. Applications can be launched through various web-based methods, including direct hyperlinks to the .application file, embedding in pages via anchor tags, integration within applications, or invocation via to initiate downloads. When hosted on sites, ClickOnce deployments must avoid mixed content by ensuring all linked resources, including manifests and assemblies, are served over to prevent warnings or blocks that could interrupt the launch process. ClickOnce is exclusively compatible with Windows platforms, supporting and later, including , and requires the .NET Framework 4.0 or higher for runtime execution. It lacks native support on macOS or , as the deployment mechanism relies on Windows-specific file associations and the .NET runtime environment. While .NET 8 and later versions enable cross-platform publishing of ClickOnce packages from macOS or development machines, the resulting deployments can only be installed and run on Windows, often requiring custom hosting solutions for non-standard scenarios. Since 2020, ClickOnce has seen enhanced integration with the Chromium-based , including policy controls for enabling or disabling the protocol via edge://flags or group policies. For applications embedding , there is growing reliance on the Edge WebView2 control to facilitate modern browser experiences within ClickOnce-deployed apps, though known issues persist with sandboxed iframes, where restricted permissions can prevent proper content loading or script execution in embedded contexts.

System Requirements

ClickOnce applications require specific software prerequisites to ensure compatibility and reliable execution on target systems. The primary operating systems supported are and , with 64-bit architectures preferred for optimal performance and security features. Applications targeting the require version 4.8 or later, while those using modern runtimes need .NET 8 or higher, which provides enhanced cross-platform capabilities within Windows environments. For development, 2022 or later is necessary to build, publish, and manage ClickOnce deployments effectively. Hardware specifications for running ClickOnce applications align closely with the minimum requirements of the host operating system and runtime. A processor speed of at least 1 GHz is recommended, along with a minimum of 2 GB of RAM to handle application loading and execution without significant performance degradation. Disk space requirements vary by application but typically start at 100 MB or more per installed app, accounting for the per-user cache where ClickOnce stores assemblies and resources. For initial downloads and updates, a broadband network connection is advised to minimize latency, as deployments often involve transferring manifests and binaries over the internet or intranet. Environmental factors play a crucial role in successful ClickOnce operation. Deployments should use protocols to secure application manifests and prevent tampering during transmission, aligning with best practices for and trust validation. Firewall configurations must permit outbound connections to the deployment for update checks and installations, ensuring seamless access without blocking essential ports like 80 or 443. User-level installations do not require administrator privileges, as ClickOnce operates in a per-user context, though developers may need elevated rights to install code-signing certificates during publishing. Older systems present notable compatibility gaps. ClickOnce does not support or , as these lack the necessary .NET Framework updates and security zones required for modern deployments. For ARM64 architectures on , compatibility is achieved through x64 , allowing ClickOnce applications to run without native recompilation in most cases. Browser support for launching ClickOnce applications is detailed in the dedicated compatibility section.

References

  1. [1]
    ClickOnce Deployment and Security - Visual Studio - Microsoft Learn
    May 6, 2025 · ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user ...What is a ClickOnce application? · How ClickOnce security works
  2. [2]
    Fine Grained Versioning with ClickOnce - InfoQ
    May 6, 2008 · ClickOnce is a Microsoft technology released with version 2.0 of the .NET framework that allows for easy deployment and updating of .NET windows applications ...Missing: history | Show results with:history
  3. [3]
    Publishing ClickOnce Applications - Visual Studio - Microsoft Learn
    May 30, 2025 · You can use the Publish Wizard to set the basic settings for publishing your application. This includes the following publishing properties.Publish Wizard · Publish Page · Application Files Dialog Box
  4. [4]
    Simplify App Deployment with ClickOnce and Registration-Free COM
    Oct 18, 2019 · ClickOnce is a new deployment technology for Windows Forms apps that is being introduced in the .NET Framework 2.0. It is a simplified ...
  5. [5]
    Deploy and Update Smart Client Projects Using a Central Server
    ClickOnce, part of version 2.0 of the Microsoft® .NET Framework, allows you to deploy Windows-based rich client apps to a desktop.Missing: history | Show results with:history
  6. [6]
    Building a UI for a .NET App with Enhanced Windows Forms Support
    No-touch deployment has evolved into ClickOnce deployment in Visual Studio 2005, incorporating several new features along the way to offer Windows Forms ...
  7. [7]
    Building User Experiences With Windows Presentation Foundation ...
    This is made possible through ClickOnce Deployment, which is included with the .NET Framework 3.0. To use ClickOnce, MSBuild generates the executable that users ...
  8. [8]
    ClickOnce application fails to update - .NET Framework
    Apr 14, 2024 · The ClickOnce application fails while checking for updates. It appears to be random, but more prevalent when there's an update available.
  9. [9]
    Exploring the .NET Framework 4 Security Model - Microsoft Learn
    The .NET Framework 4 boasts a simpler, improved security model that makes it easy for hosts and libraries to sandbox code and libraries to safely expose ...
  10. [10]
    What's new in .NET Framework - Microsoft Learn
    Jan 6, 2023 · .NET Framework 4.8.1 builds on previous versions of .NET Framework 4.x by adding many new fixes and several new features while remaining a very stable product.
  11. [11]
    ClickOnce for .NET 5 and later on Windows - Microsoft Learn
    May 16, 2025 · This article describes the differences between ClickOnce for .NET Core 3.1, .NET 5, and later, versus ClickOnce for .NET Framework.Missing: history milestones
  12. [12]
    MSIX: The Modern Way to Deploy Desktop Apps on Windows
    Jun 2, 2019 · It aims to bring together the best of all previous installation technologies, such as MSI and ClickOnce, and will be the recommended way of ...
  13. [13]
    Deploy a .NET Windows desktop application using ClickOnce
    Jul 30, 2025 · You can use the Publish tool to publish .NET Core 3.1, .NET 5, or newer, Windows Desktop applications using ClickOnce from Visual Studio.Missing: technology | Show results with:technology
  14. [14]
    Deploy an Office solution by using ClickOnce - VSTO - Microsoft Learn
    Mar 11, 2024 · You can deploy your Office solution in fewer steps if you use ClickOnce. If you publish updates, your solution will automatically detect and install them.Publish The Solution · Help Users Install The... · Change The Installation...
  15. [15]
    Choosing a ClickOnce Deployment Strategy - Visual Studio (Windows)
    Mar 11, 2024 · Learn about the strategies for deploying a ClickOnce application and how to choose a strategy depending on the type of application that you are
  16. [16]
    Troubleshooting errors with ClickOnce deployments - Visual Studio
    Feb 11, 2025 · An application that runs in partial trust can't be larger than half of the size of the online application quota, which by default is 250 MB.
  17. [17]
    Publish ClickOnce Application with Publish Wizard - Microsoft Learn
    Apr 18, 2025 · To allow the application to run when the user is disconnected from the network, select Yes, this application is available online or offline.
  18. [18]
    Build ClickOnce Applications from command line - Microsoft Learn
    Mar 11, 2024 · Learn how to build Visual Studio projects from the command line, which allows you to reproduce a build using an automated process.Create And Build A Basic... · Create And Publish A... · Publish Properties
  19. [19]
    ClickOnce Deployment Manifest - Visual Studio - Microsoft Learn
    Mar 11, 2024 · A ClickOnce deployment manifest is an XML file describing a deployment, including the current application version and deployment settings.
  20. [20]
    ClickOnce Application Manifest - Visual Studio (Windows)
    Mar 11, 2024 · Learn about the ClickOnce application manifest, which is an XML file that describes an application that is deployed using ClickOnce.
  21. [21]
    Localizing ClickOnce Applications - Visual Studio - Microsoft Learn
    Aug 2, 2024 · Learn about three ways to localize your ClickOnce application to a version appropriate for a specific culture.
  22. [22]
    ClickOnce Cache Overview - Visual Studio - Microsoft Learn
    Mar 11, 2024 · Learn about the ClickOnce application cache, which includes hidden directories on a client computer where ClickOnce applications are stored.
  23. [23]
    <dependency> Element (ClickOnce Application) - Microsoft Learn
    Apr 15, 2024 · The hash element has no attributes. ClickOnce uses an algorithmic hash of all the files in an application as a security check, to ensure that ...
  24. [24]
    Download assemblies on demand with the ClickOnce deployment API
    Aug 2, 2024 · The following walkthrough demonstrates how to mark certain assemblies in your application as optional, and how to download them by using classes in the System. ...
  25. [25]
    Assembly Manifest doesn't match reference - .NET Framework
    May 5, 2020 · This article helps you resolve an error (The located assembly's manifest definition does not match the assembly reference) that occurs when a ClickOnce ...Missing: packaging | Show results with:packaging
  26. [26]
    Choosing a ClickOnce Update Strategy - Visual Studio (Windows)
    May 21, 2024 · Discover how a ClickOnce application supports automatic updates and review update strategy options, including checking on startup or through ...Missing: WPF | Show results with:WPF
  27. [27]
    Manage Updates for a ClickOnce Application - Microsoft Learn
    Mar 28, 2024 · ClickOnce updates can be managed automatically before or after application start, programmatically, with different update locations, and ...
  28. [28]
    ApplicationDeployment.Update Method - Microsoft Learn
    The Update method starts a synchronous download and installation of the latest application version, blocking until complete. It returns true if updated, false ...
  29. [29]
    Automatic app updates with ClickOnce deployment API
    Mar 11, 2024 · ClickOnce provides two ways to update an application once it is deployed. In the first method, you can configure the ClickOnce deployment to check ...
  30. [30]
    <assemblyIdentity> Element (ClickOnce Application) - Microsoft Learn
    Mar 11, 2024 · Specifies a 16-character hexadecimal string that represents the last 8 bytes of the SHA-1 hash value of the public key under which the ...
  31. [31]
    Security, versioning, and manifest issues in ClickOnce deployments
    Apr 29, 2025 · The manifest files that are used by ClickOnce are XML files, and they must be both well-formed and valid: they must obey the XML syntax rules ...
  32. [32]
    System.Version class - .NET - Microsoft Learn
    Jan 8, 2024 · The Publish Version of an application for ClickOnce deployment is completely independent of its assembly version. Compare version objects.<|control11|><|separator|>
  33. [33]
    Specify ClickOnce Publish properties - Visual Studio - Microsoft Learn
    May 6, 2025 · In this article, you learn how to specify properties such as the publishing location, the installation URL, online or offline install mode, and the publish ...Missing: history | Show results with:history
  34. [34]
    How ClickOnce Performs Application Updates - Microsoft Learn
    Mar 11, 2024 · ClickOnce uses the file version information specified in an application's deployment manifest to decide whether to update the application's files.Missing: introduction date history
  35. [35]
    Mage.exe (Manifest Generation and Editing Tool) - .NET Framework
    Mar 29, 2023 · Clears the downloaded application cache ... See also. ClickOnce Security and Deployment · Walkthrough: Manually Deploying a ClickOnce Application ...
  36. [36]
    Manually deploy a ClickOnce app - Visual Studio - Microsoft Learn
    Apr 25, 2025 · This walkthrough describes how to create a ClickOnce deployment by using either the command-line version (Mage.exe) or the graphical version (MageUI.exe)Missing: technology | Show results with:technology
  37. [37]
    Code Access Security for ClickOnce Applications - Microsoft Learn
    May 30, 2025 · Code access security is a mechanism in the .NET Framework that helps limit the access that code has to protected resources and operations.
  38. [38]
    Securing ClickOnce Applications - Visual Studio - Microsoft Learn
    May 30, 2025 · ClickOnce applications are subject to code access security constraints in the .NET Framework to help limit the access that code has to protected resources and ...
  39. [39]
    Enable and configure ClickOnce security settings in Visual Studio
    May 6, 2025 · When setting code access security permissions for a ClickOnce application, you need to start with a base set of permissions on the Security page ...Enable ClickOnce security... · Set a security zone for a...
  40. [40]
    NET Framework 4 migration issues - Microsoft Learn
    Mar 29, 2023 · The code access security (CAS) policy has been turned off and replaced with a simplified model, as described in Security Changes in .NET ...Asp.Net And Web · Core · Windows Presentation...
  41. [41]
    ClickOnce and Authenticode - Visual Studio (Windows)
    Mar 11, 2024 · For ClickOnce applications, you must have an Authenticode certificate that is valid for code signing. If you attempt to sign a ClickOnce ...Authenticode And Code... · How Using Certificate... · Timestamps
  42. [42]
    Sign application and deployment manifests - Visual Studio (Windows)
    Oct 13, 2025 · If you want to publish an application by using ClickOnce deployment, the application and deployment manifests must be signed with a ...
  43. [43]
    Cryptography Functions - Win32 apps - Microsoft Learn
    Aug 19, 2021 · Retrieves a non-blocking, time valid online certificate status protocol (OCSP) response context for the specified handle.
  44. [44]
    SHA-1 signed content to be retired - Microsoft Lifecycle
    Microsoft no longer uses Secure Hash Algorithm (SHA)-1 to authenticate updates due to the weaknesses in the algorithm.
  45. [45]
    How do I sign a Visual Studio application with an EV Certificiate
    Apr 21, 2022 · The only way to do that is with Extended Validation (EV) Code Signing. EV Code Signing boosts your SmartScreen reputation and gets your software trusted.
  46. [46]
    ClickOnce and DirectInvoke in Microsoft Edge - Microsoft Learn
    Oct 10, 2022 · ClickOnce and DirectInvoke are features available in IE and Microsoft Edge that support the use of a file handler to download files from a website.
  47. [47]
    NPAPI deprecation: developer guide - The Chromium Projects
    We recently updated our plans to phase out support for NPAPI in early 2015. This guide provides more details about what to expect and alternatives to NPAPI.Missing: ClickOnce Firefox
  48. [48]
    Why do Java, Silverlight, Adobe Acrobat and other plugins no longer ...
    Dec 4, 2024 · Firefox stopped supporting NPAPI plugins (like Java, Silverlight, Adobe Acrobat) after version 52, as they were slow, less secure, and prone to ...Missing: ClickOnce deprecation
  49. [49]
    Server and client configuration issues in ClickOnce deployments
    Jun 25, 2024 · For the .application and .manifest extensions, the MIME type should be "application/x-ms-application." For other file types, the MIME type ...ClickOnce and Secure Sockets... · ClickOnce and proxy...
  50. [50]
    NET Framework & Windows OS versions - Microsoft Learn
    Learn about key features in each version of .NET Framework, including underlying CLR versions and versions installed by the Windows operating system.
  51. [51]
    Using frames in WebView2 apps - Microsoft Learn
    Jun 19, 2023 · Frames allow you to embed other webpages into your own webpage. A frame is a sub-page or area within a webpage, like a webpage within a webpage.Missing: ClickOnce 2020 sandboxed
  52. [52]
    Visual Studio 2022 Compatibility | Microsoft Learn
    NET Framework System Requirements. Universal Windows app development for all target platforms is available when Visual Studio is installed on Windows 11 or ...Platform Targeting · Other Platforms And... · Compatibility With Previous...
  53. [53]
    The ClickOnce Bootstrapper package for the .NET Framework 4.5.2 ...
    Jul 15, 2024 · System Requirements · 1 GHz or faster processor · 512 MB of RAM · 850 MB of available hard disk space (x86) · 2 GB of available hard disk space (x64) ...
  54. [54]
    Visual Studio 2022 version 17.3 Release Notes - Microsoft Learn
    Oct 11, 2022 · Get the latest features, bug fixes, and support for Visual Studio 2022 version 17.3. Download today.