title | ms.date | ms.topic | dev_langs | helpviewer_keywords | ms.assetid | author | ms.author | manager | ms.workload | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Automatic app updates using ClickOnce deployment API |
11/04/2016 |
how-to |
|
|
1a886310-67c8-44e5-a382-c2f0454f887d |
mikejo5000 |
mikejo |
jillfra |
|
ClickOnce provides two ways to update an application once it is deployed. In the first method, you can configure the ClickOnce deployment to check automatically for updates at certain intervals. In the second method, you can write code that uses the xref:System.Deployment.Application.ApplicationDeployment class to check for updates based on an event, such as a user request.
The following procedures show some code for performing a programmatic update and also describe how to configure your ClickOnce deployment to enable programmatic update checks.
In order to update a ClickOnce application programmatically, you must specify a location for updates. This is sometimes referred to as a deployment provider. For more information on setting this property, see Choose a ClickOnce update strategy.
Note
You can also use the technique described below to deploy your application from one location but update it from another. For more information, see How to: Specify an alternate location for deployment updates.
-
Create a new Windows Forms application using your preferred command-line or visual tools.
-
Create whatever button, menu item, or other user interface item you want your users to select to check for updates. From that item's event handler, call the following method to check for and install updates.
[!code-csharpClickOnceAPI#6] [!code-cppClickOnceAPI#6] [!code-vbClickOnceAPI#6]
-
Compile your application.
-
Follow the instructions for deploying your application using Mage.exe as explained in Walkthrough: Manually deploy a ClickOnce application. When calling Mage.exe to generate the deployment manifest, make sure to use the command-line switch
providerUrl
, and to specify the URL where ClickOnce should check for updates. If your application will update fromhttp://www.adatum.com/MyApp
, for example, your call to generate the deployment manifest might look like this:mage -New Deployment -ToFile WindowsFormsApp1.application -Name "My App 1.0" -Version 1.0.0.0 -AppManifest 1.0.0.0\MyApp.manifest -providerUrl http://www.adatum.com/MyApp/MyApp.application
- Follow the instructions for deploying your application using Mage.exe as explained in Walkthrough: Manually deploy a ClickOnce application. On the Deployment Options tab, set the Start Location field to the application manifest ClickOnce should check for updates. On the Update Options tab, clear the This application should check for updates check box.
Your application must have full-trust permissions to use programmatic updating.