ApplicationDeployment.Update Method
Assembly: System.Deployment (in system.deployment.dll)
| Exception type | Condition |
|---|---|
| The local computer did not grant this application the permission level it requested to execute. | |
| Your ClickOnce deployment is corrupted. For tips on how to diagnose and correct the problem, see Troubleshooting ClickOnce Deployments. | |
| The new deployment could not be downloaded from its location on the network. |
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.
This 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 will download all files in a deployment not marked as "optional" in the application manifest. You can download optional files on demand using the DownloadFileGroup or the DownloadFileGroupAsync methods.
ClickOnce may already be updating the application automatically when you call this method; if that happens, calls to this method will throw an InvalidOperationException.
If you have updated one or more files in your deployment, but have not refreshed your application manifest, you will receive an InvalidDeploymentException. Most of the time, redeploying your ClickOnce application solves this. 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. If the application uses Trusted Application Deployment, the common language runtime trust manager will examine the deployment manifest to determine whether it contains a valid trust license. If the deployment manifest does not contain a valid trust license, ClickOnce will stop the installation and throw a TrustNotGrantedException. Update will never cause a prompt to display asking the user if they want to grant permission for the application to run.
The following code example checks for an application update; if one is available, it installs it synchronously.
Private Sub InstallUpdateSyncWithInfo() Dim info As UpdateCheckInfo = Nothing If (ApplicationDeployment.IsNetworkDeployed) Then Dim AD As ApplicationDeployment = ApplicationDeployment.CurrentDeployment Try info = AD.CheckForDetailedUpdate() Catch dde As DeploymentDownloadException MessageBox.Show("The new version of the application cannot be downloaded at this time. " + ControlChars.Lf + ControlChars.Lf + "Please check your network connection, or try again later. Error: " + dde.Message) Return Catch ioe As InvalidOperationException MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " + ioe.Message) Return End Try If (info.UpdateAvailable) Then Dim doUpdate As Boolean = True If (Not info.IsUpdateRequired) Then Dim dr As DialogResult = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel) If (Not System.Windows.Forms.DialogResult.OK = dr) Then doUpdate = False End If End If If (doUpdate) Then Try AD.Update() MessageBox.Show("The application has been upgraded, and will now restart.") Application.Restart() Catch dde As DeploymentDownloadException MessageBox.Show("Cannot install the latest version of the application. " + ControlChars.Lf + ControlChars.Lf + "Please check your network connection, or try again later.") Return End Try End If End If End If End Sub
- PermissionSet For full access to the local computer. Associated enumeration: PermissionState
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Reference
ApplicationDeployment ClassApplicationDeployment Members
System.Deployment.Application Namespace
UpdateAsync
CheckForUpdateAsync
CheckForUpdate
CheckForDetailedUpdate
Other Resources
Choosing a ClickOnce Update StrategyClickOnce Deployment and Security