ApplicationDeployment::Update Method
Starts a synchronous download and installation of the latest version of this application.
Assembly: System.Deployment (in System.Deployment.dll)
| Exception | Condition |
|---|---|
| TrustNotGrantedException | The local computer did not grant the application the permission level it requested to execute. |
| InvalidDeploymentException | Your ClickOnce deployment is corrupted. For tips on how to diagnose and correct the problem, see Troubleshooting ClickOnce Deployments. |
| DeploymentDownloadException | The new deployment could not be downloaded from its location on the network. |
| InvalidOperationException | The application is currently being updated. |
An application is considered updated when you publish a new version of the application to the location specified by UpdateLocation, and the version number in the application's deployment manifest is greater than the version number of the application currently installed on the user's computer.
The Update call will block until the update has been downloaded to the client computer and installed into the ClickOnce cache; during this time, the application will not be responsive to the user. If you want to maintain application responsiveness or display a progress report during download, use the UpdateAsync method instead.
Update downloads all of the files that are not marked as "optional" in the application manifest. You can download optional files on demand by using the DownloadFileGroup or the DownloadFileGroupAsync method.
ClickOnce may already be updating the application automatically when you call the Update method; if that happens, calls to this method will throw an InvalidOperationException.
If you have updated one or more files in your deployment, but you have not refreshed your application manifest, you will receive an InvalidDeploymentException. Most of the time, redeploying your ClickOnce application solves this problem. You will also receive this exception if a public-key signature on a deployment manifest or application manifest is invalid or missing.
An update may request a higher level of trust on the local computer than the previous version of the application. If the application uses Trusted Application Deployment, the common language runtime (CLR) trust manager examines the deployment manifest to determine whether it contains a valid trust license. If the deployment manifest does not contain a valid trust license, ClickOnce stops the installation and throws a TrustNotGrantedException. The Update method will never display a prompt asking the user whether they want to grant the application permission to run.
The following code example checks for an application update; if an update is available, it installs it synchronously.
public: void InstallUpdateSync() { if (ApplicationDeployment::IsNetworkDeployed) { bool isUpdateAvailable = false; ApplicationDeployment^ appDeployment = ApplicationDeployment::CurrentDeployment; try { isUpdateAvailable = appDeployment->CheckForUpdate(); } catch (InvalidOperationException^ ex) { MessageBox::Show("The update check failed. Error: {0}", ex->Message); return; } if (isUpdateAvailable) { try { appDeployment->Update(); MessageBox::Show( "The application has been upgraded, and will now " + "restart."); Application::Restart(); } catch (Exception^ ex) { MessageBox::Show("The update failed. Error: {0}", ex->Message); return; } } } }
- PermissionSet
For full access to the local computer. Associated enumeration: PermissionState.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.