With the System.Deployment.Application namespace, you can program custom upgrade behavior into your ClickOnce application.
Supports updates of the current deployment programmatically, and handles on-demand downloading of files. This class cannot be inherited.
Represents detailed update information obtained through a call to CheckForUpdateAsync().
Represents a version of the .NET Framework where an application can install and run.
This exception is thrown when a version of the .NET Framework that is compatible with this application cannot be found.
Provides details about versions of the .NET Framework on which this application can install and run.
The exception that is thrown when the platform dependency is not found during activation of the ClickOnce deployment and the deployment will not run.
Indicates that there was an error downloading either the ClickOnce manifests or the deployment's files to the client computer.
Defines a base class for all deployment-related exceptions.
Represents progress data reported in an asynchronous operation.
Provides internal services for the ClickOnce deployment API.
Provides data for the DownloadApplicationCompleted event.
Describes a file download that has recently completed.
Provides data for the DownloadProgressChanged event.
Install or update a ClickOnce deployment on a computer.
Indicates that ClickOnce could not read either the deployment or application manifests.
This exception is thrown when a runtime version that is compatible with this application cannot be found.
Indicates that the application does not have the appropriate level of trust to run on the local computer.
Represents detailed update information obtained through a call to CheckForDetailedUpdate().
Specifies the current stage of a ClickOnce download operation.
The key class in this namespace is ApplicationDeployment. You can test whether your deployment has an available update by using either the CheckForUpdate or CheckForUpdateAsync methods; the latter method raises the CheckForUpdateCompleted event when it has successfully completed. CheckForDetailedUpdate returns important information about the update, such as its version number and whether it is a required update for current users. If an update is available, you can install it by using Update or UpdateAsync; the latter method raises the UpdateCompleted event after installation of the update is finished. For large updates, you can receive progress notifications through the CheckForUpdateProgressChanged and UpdateProgressChanged events, and use the information in ProgressChangedEventArgs to notify the user of the download status.
You can also use ApplicationDeployment to download large files and assemblies on demand. These files must be marked as "optional" within the deployment's application manifest, so that they are not downloaded at installation. You can download the files at any point during the application's duration by using the DownloadFileGroup or DownloadFileGroupAsync methods. You can download assemblies before they are loaded into memory by supplying an event handler for the AssemblyResolve event on the AppDomain class. For more information, see Walkthrough: Downloading Assemblies on Demand with the ClickOnce Deployment API Using the Designer.