ApplicationDeployment ApplicationDeployment ApplicationDeployment ApplicationDeployment Class

Définition

Prend en charge les mises à jour du déploiement actuel par programme, et gère le téléchargement de fichiers à la demande. Supports updates of the current deployment programmatically, and handles on-demand downloading of files. Cette classe ne peut pas être héritée. This class cannot be inherited.

public ref class ApplicationDeployment sealed
public sealed class ApplicationDeployment
type ApplicationDeployment = class
Public NotInheritable Class ApplicationDeployment
Héritage
ApplicationDeploymentApplicationDeploymentApplicationDeploymentApplicationDeployment

Exemples

L’exemple de code suivant détermine au moment du chargement application si une nouvelle mise à jour est disponible ; Si une mise à jour requise est disponible, l’exemple de code installe la mise à jour de façon asynchrone.The following code example determines at application load time whether a new update is available; if a required update is available, the code example installs the update asynchronously. Ce code doit être ajouté à un formulaire qui contient un TextBox nommé downloadStatus.This code should be added to a form that contains a TextBox named downloadStatus.

private:
    long sizeOfUpdate;


private:
    void Form1_Load(Object^ sender, System::EventArgs^ e)
    {
        DoUpdate();
    }

public:
    void DoUpdate()
    {
        if (ApplicationDeployment::IsNetworkDeployed)
        {
            ApplicationDeployment^ currentAppDeployment =
                ApplicationDeployment::CurrentDeployment;
            currentAppDeployment->CheckForUpdateCompleted +=
                gcnew CheckForUpdateCompletedEventHandler(
                this, &Form1::currentDeploy_CheckForUpdateCompleted);
            currentAppDeployment->CheckForUpdateAsync();
        }
    }

    // If update is available, fetch it.
    void currentDeploy_CheckForUpdateCompleted(Object^ sender,
        CheckForUpdateCompletedEventArgs^ e)
    {
        if (nullptr != e->Error)
        {
            // Log error.
            return;
        }

        if (e->UpdateAvailable)
        {
            sizeOfUpdate = (long) e->UpdateSizeBytes;
            if (!e->IsUpdateRequired)
            {
                System::Windows::Forms::DialogResult 
                    updateDialogueResult = MessageBox::Show(
                    "An update is available.Would you like to update the" +
                    " application now?", "Update Available",
                    MessageBoxButtons::OKCancel);
                if (System::Windows::Forms::DialogResult::OK == 
                    updateDialogueResult)
                {
                    BeginUpdate();
                }
            }
            else
            {
                BeginUpdate();
            }
        }
    }

    void BeginUpdate()
    {
        ApplicationDeployment^ ad = ApplicationDeployment::CurrentDeployment;
        ad->UpdateCompleted +=
            gcnew AsyncCompletedEventHandler(
            this, &Form1::CurrentDeployment_UpdateCompleted);

        // Indicate progress in the application's status bar.
        ad->UpdateProgressChanged +=
            gcnew DeploymentProgressChangedEventHandler(this, 
            &Form1::ad_ProgressChanged);

        ad->UpdateAsync();
    }

    void CurrentDeployment_UpdateCompleted(Object^ sender,
        AsyncCompletedEventArgs^ e)
    {
        if (!e->Cancelled)
        {
            if (nullptr != e->Error)
            {
                System::Windows::Forms::DialogResult 
                    restartDialogueResult = MessageBox::Show(
                    "The application has been updated. Restart?",
                    "Restart Application",
                    MessageBoxButtons::OKCancel);
                if (System::Windows::Forms::DialogResult::OK == 
                    restartDialogueResult)
                {
                    Application::Restart();
                }
            }
            else
            {
                // Replace with your own error reporting or logging.
                MessageBox::Show(
                    "The application encountered an error in downloading" +
                    " the latest update. Error: {0}",
                    e->Error->Message);
            }
        }
        else
        {
            // Replace with your own error reporting or logging.
            MessageBox::Show("The update of the application's latest" +
                " version was cancelled.");
        }
    }

    void ad_ProgressChanged(Object^ sender,
        DeploymentProgressChangedEventArgs^ e)
    {
        String^ progressText =
            String::Format(
            "{0:D}K out of {1:D}K downloaded - {2:D}% complete",
            e->BytesCompleted / 1024, e->BytesTotal / 1024,
            e->ProgressPercentage);
        statusStrip1->Text = progressText;
    }
long sizeOfUpdate = 0;

private void UpdateApplication()
{
    if (ApplicationDeployment.IsNetworkDeployed)
    {
        ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
        ad.CheckForUpdateCompleted += new CheckForUpdateCompletedEventHandler(ad_CheckForUpdateCompleted);
        ad.CheckForUpdateProgressChanged += new DeploymentProgressChangedEventHandler(ad_CheckForUpdateProgressChanged);

        ad.CheckForUpdateAsync();
    }
}

void  ad_CheckForUpdateProgressChanged(object sender, DeploymentProgressChangedEventArgs e)
{
    downloadStatus.Text = String.Format("Downloading: {0}. {1:D}K of {2:D}K downloaded.", GetProgressString(e.State), e.BytesCompleted/1024, e.BytesTotal/1024);   
}

string GetProgressString(DeploymentProgressState state)
{
    if (state == DeploymentProgressState.DownloadingApplicationFiles)
    {
        return "application files";
    } 
    else if (state == DeploymentProgressState.DownloadingApplicationInformation) 
    {
        return "application manifest";
    } 
    else 
    {
        return "deployment manifest";
    }
}

void ad_CheckForUpdateCompleted(object sender, CheckForUpdateCompletedEventArgs e)
{
    if (e.Error != null)
    {
        MessageBox.Show("ERROR: Could not retrieve new version of the application. Reason: \n" + e.Error.Message + "\nPlease report this error to the system administrator.");
        return;
    }
    else if (e.Cancelled == true)
    {
        MessageBox.Show("The update was cancelled.");
    }

    // Ask the user if they would like to update the application now.
    if (e.UpdateAvailable)
    {
        sizeOfUpdate = e.UpdateSizeBytes;

        if (!e.IsUpdateRequired)
        {
            DialogResult dr = MessageBox.Show("An update is available. Would you like to update the application now?\n\nEstimated Download Time: ", "Update Available", MessageBoxButtons.OKCancel);
            if (DialogResult.OK == dr)
            {
                BeginUpdate();
            }
        }
        else
        {
            MessageBox.Show("A mandatory update is available for your application. We will install the update now, after which we will save all of your in-progress data and restart your application.");
            BeginUpdate();
        }
    }
}

private void BeginUpdate()
{
    ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
    ad.UpdateCompleted += new AsyncCompletedEventHandler(ad_UpdateCompleted);

    // Indicate progress in the application's status bar.
    ad.UpdateProgressChanged += new DeploymentProgressChangedEventHandler(ad_UpdateProgressChanged);
    ad.UpdateAsync();
}

void ad_UpdateProgressChanged(object sender, DeploymentProgressChangedEventArgs e)
{
    String progressText = String.Format("{0:D}K out of {1:D}K downloaded - {2:D}% complete", e.BytesCompleted / 1024, e.BytesTotal / 1024, e.ProgressPercentage);
    downloadStatus.Text = progressText;
}

void ad_UpdateCompleted(object sender, AsyncCompletedEventArgs e)
{
    if (e.Cancelled)
    {
        MessageBox.Show("The update of the application's latest version was cancelled.");
        return;
    }
    else if (e.Error != null)
    {
        MessageBox.Show("ERROR: Could not install the latest version of the application. Reason: \n" + e.Error.Message + "\nPlease report this error to the system administrator.");
        return;
    }

    DialogResult dr = MessageBox.Show("The application has been updated. Restart? (If you do not restart now, the new version will not take effect until after you quit and launch the application again.)", "Restart Application", MessageBoxButtons.OKCancel);
    if (DialogResult.OK == dr)
    {
        Application.Restart();
    }
}
Private sizeOfUpdate As Long = 0

Dim WithEvents ADUpdateAsync As ApplicationDeployment

Private Sub UpdateApplication()
    If (ApplicationDeployment.IsNetworkDeployed) Then
        ADUpdateAsync = ApplicationDeployment.CurrentDeployment

        ADUpdateAsync.CheckForUpdateAsync()
    End If
End Sub

Private Sub ADUpdateAsync_CheckForUpdateProgressChanged(ByVal sender As Object, ByVal e As DeploymentProgressChangedEventArgs) Handles ADUpdateAsync.CheckForUpdateProgressChanged
    DownloadStatus.Text = [String].Format("{0:D}K of {1:D}K downloaded.", e.BytesCompleted / 1024, e.BytesTotal / 1024)
End Sub


Private Sub ADUpdateAsync_CheckForUpdateCompleted(ByVal sender As Object, ByVal e As CheckForUpdateCompletedEventArgs) Handles ADUpdateAsync.CheckForUpdateCompleted
    If (e.Error IsNot Nothing) Then
        MessageBox.Show(("ERROR: Could not retrieve new version of the application. Reason: " + ControlChars.Lf + e.Error.Message + ControlChars.Lf + "Please report this error to the system administrator."))
        Return
    Else
        If (e.Cancelled = True) Then
            MessageBox.Show("The update was cancelled.")
        End If
    End If

    ' Ask the user if they would like to update the application now.
    If (e.UpdateAvailable) Then
        sizeOfUpdate = e.UpdateSizeBytes

        If (Not e.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 (System.Windows.Forms.DialogResult.OK = dr) Then
                BeginUpdate()
            End If
        Else
            MessageBox.Show("A mandatory update is available for your application. We will install the update now, after which we will save all of your in-progress data and restart your application.")
            BeginUpdate()
        End If
    End If
End Sub

Private Sub BeginUpdate()
    ADUpdateAsync = ApplicationDeployment.CurrentDeployment
    ADUpdateAsync.UpdateAsync()
End Sub


Private Sub ADUpdateAsync_UpdateProgressChanged(ByVal sender As Object, ByVal e As DeploymentProgressChangedEventArgs) Handles ADUpdateAsync.UpdateProgressChanged
    Dim progressText As String = String.Format("{0:D}K out of {1:D}K downloaded - {2:D}% complete", e.BytesCompleted / 1024, e.BytesTotal / 1024, e.ProgressPercentage)
    DownloadStatus.Text = progressText
End Sub


Private Sub ADUpdateAsync_UpdateCompleted(ByVal sender As Object, ByVal e As AsyncCompletedEventArgs) Handles ADUpdateAsync.UpdateCompleted
    If (e.Cancelled) Then
        MessageBox.Show("The update of the application's latest version was cancelled.")
        Exit Sub
    Else
        If (e.Error IsNot Nothing) Then
            MessageBox.Show("ERROR: Could not install the latest version of the application. Reason: " + ControlChars.Lf + e.Error.Message + ControlChars.Lf + "Please report this error to the system administrator.")
            Exit Sub
        End If
    End If

    Dim dr As DialogResult = MessageBox.Show("The application has been updated. Restart? (If you do not restart now, the new version will not take effect until after you quit and launch the application again.)", "Restart Application", MessageBoxButtons.OKCancel)
    If (dr = System.Windows.Forms.DialogResult.OK) Then
        Application.Restart()
    End If
End Sub

Remarques

Vous pouvez configurer votre ClickOnceClickOnce application pour vérifier les mises à jour et les installer automatiquement via le subscription élément du manifeste de déploiement.You can configure your ClickOnceClickOnce application to check for updates and install them automatically through the subscription element of the deployment manifest. Certaines applications, toutefois, peut-être mieux contrôler leurs mises à jour.Some applications, however, need finer control over their updates. Voulez-vous installer les mises à jour requises par programme et inviter les utilisateurs à installer les mises à jour facultatives à leur convenance.You may want to install required updates programmatically, and prompt users to install optional updates at their convenience. En désactivant les mises à jour de l’abonnement dans le manifeste de déploiement, vous pouvez prendre le contrôle intégral des stratégies de mise à jour de votre application.By turning off subscription updates in the deployment manifest, you can take complete control of your application's update policies. Vous pouvez également utiliser l’abonnement automatique conjointement avec ApplicationDeployment, ce qui permet ClickOnceClickOnce régulièrement à jour l’application, mais utilise ApplicationDeployment pour télécharger les mises à jour critiques peu de temps après leur publication.Alternatively, you can use automatic subscription in conjunction with ApplicationDeployment, which enables ClickOnceClickOnce to update the application periodically, but uses ApplicationDeployment to download critical updates shortly after they are released.

Vous pouvez tester si votre déploiement possède une mise à jour disponible à l’aide la CheckForUpdate ou CheckForUpdateAsync méthode ; cette dernière méthode déclenche le CheckForUpdateCompleted événements de réussite.You can test whether your deployment has an available update by using either the CheckForUpdate or the CheckForUpdateAsync method; the latter method raises the CheckForUpdateCompleted event on successful completion. CheckForDetailedUpdate Retourne des informations importantes sur la mise à jour, telles que son numéro de version et s’il s’agit d’une mise à jour requise pour les utilisateurs actuels.CheckForDetailedUpdate returns important information about the update, such as its version number and whether it is a required update for current users. Si une mise à jour est disponible, vous pouvez l’installer à l’aide de Update ou UpdateAsync; la dernière méthode déclenche la UpdateCompleted événement après l’installation de la mise à jour est terminée.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 complete. Pour les mises à jour volumineuses, vous pouvez recevoir des notifications de progression via le CheckForUpdateProgressChanged et UpdateProgressChanged événements et utilisez les informations de ProgressChangedEventArgs pour notifier l’utilisateur de l’état de téléchargement.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.

Vous pouvez également utiliser ApplicationDeployment pour télécharger des fichiers volumineux et des assemblys à la demande.You can also use ApplicationDeployment to download large files and assemblies on demand. Ces fichiers doivent être marqués comme « facultatifs » dans le manifeste de déploiement application afin qu’ils ne sont pas téléchargés lors de l’installation.These files must be marked as "optional" within the deployment's application manifest so that they are not downloaded during installation. Vous pouvez télécharger les fichiers à tout moment pendant la durée de l’application à l’aide de la DownloadFileGroup ou DownloadFileGroupAsync (méthode).You can download the files at any point during the application's duration by using the DownloadFileGroup or the DownloadFileGroupAsync method. Vous pouvez télécharger des assemblys avant qu’ils sont chargés en mémoire en fournissant un gestionnaire d’événements pour le AssemblyResolve événement sur le AppDomain classe.You can download assemblies before they are loaded into memory by supplying an event handler for the AssemblyResolve event on the AppDomain class. Pour plus d’informations, consultez Procédure pas à pas : téléchargement d’assemblys à la demande avec l’API du déploiement ClickOnce à l’aide du concepteur.For more information, see Walkthrough: Downloading Assemblies on Demand with the ClickOnce Deployment API Using the Designer.

Note

Si vous mettez à jour un ClickOnceClickOnce application pendant l’exécution de l’application, l’utilisateur ne voit pas les mises à jour jusqu'à ce que vous appeliez la Restart méthode de la Application, qui ferme l’instance en cours d’exécution actuel de l’application et redémarrer immédiatement Il.If you update a ClickOnceClickOnce application while the application is running, the user will not see the updates until you call the Restart method of the Application, which will close the current running instance of the application and immediately restart it.

ApplicationDeployment n’a aucun constructeur public ; vous obtenez des instances de la classe au sein d’un ClickOnceClickOnce application via le CurrentDeployment propriété.ApplicationDeployment has no public constructor; you obtain instances of the class within a ClickOnceClickOnce application through the CurrentDeployment property. Vous utilisez le IsNetworkDeployed propriété pour vérifier que l’application actuelle est une ClickOnceClickOnce application.You use the IsNetworkDeployed property to verify that the current application is a ClickOnceClickOnce application.

ApplicationDeployment prend en charge la vérification des mises à jour et le téléchargement de fichiers mis à jour en mode asynchrone à l’aide de la nouvelle Event-based Asynchronous Pattern Overview, qui expose les rappels d’exécution en tant qu’événements de classe.ApplicationDeployment supports checking for updates and downloading updated files asynchronously by using the new Event-based Asynchronous Pattern Overview, which exposes completion callbacks as class events. ApplicationDeployment démarre et gère les threads pour vous et rappelle votre application sur le thread d’interface utilisateur approprié.ApplicationDeployment starts and manages the threads for you, and calls your application back on the correct UI thread. Par cette classe, vous pouvez mettre à jour sans blocage de l’application, afin que l’utilisateur puisse continuer à travailler pendant l’installation de la mise à jour.Through this class, you can update without locking up the application, so that the user can continue working while the update installs. Si l’utilisateur doit arrêter de travailler lorsqu’une mise à jour a lieu, envisagez plutôt d’utiliser les méthodes synchrones.If the user must stop all work while an update takes place, consider using the synchronous methods instead.

Note

Mise à jour asynchrone requiert que votre application importer les deux le System.Deployment.Application et System.ComponentModel espaces de noms.Performing asynchronous updates requires that your application import both the System.Deployment.Application and System.ComponentModel namespaces.

Propriétés

ActivationUri ActivationUri ActivationUri ActivationUri

Obtient l'URL utilisée pour lancer le manifeste de déploiement de l'application. Gets the URL used to launch the deployment manifest of the application.

CurrentDeployment CurrentDeployment CurrentDeployment CurrentDeployment

Retourne le ApplicationDeployment actuel de ce déploiement. Returns the current ApplicationDeployment for this deployment.

CurrentVersion CurrentVersion CurrentVersion CurrentVersion

Obtient la version du déploiement pour l'instance de l'application en cours d'exécution. Gets the version of the deployment for the current running instance of the application.

DataDirectory DataDirectory DataDirectory DataDirectory

Obtient le chemin d'accès au répertoire de données ClickOnceClickOnce. Gets the path to the ClickOnceClickOnce data directory.

IsFirstRun IsFirstRun IsFirstRun IsFirstRun

Obtient une valeur indiquant si c'est la première fois que cette application s'exécute sur l'ordinateur client. Gets a value indicating whether this is the first time this application has run on the client computer.

IsNetworkDeployed IsNetworkDeployed IsNetworkDeployed IsNetworkDeployed

Obtient une valeur indiquant si l'application actuelle est une application ClickOnceClickOnce. Gets a value indicating whether the current application is a ClickOnceClickOnce application.

TimeOfLastUpdateCheck TimeOfLastUpdateCheck TimeOfLastUpdateCheck TimeOfLastUpdateCheck

Obtient la date et l'heure de la dernière vérification, par ClickOnceClickOnce, de la disponibilité d'une mise à jour de l'application. Gets the date and the time ClickOnceClickOnce last checked for an application update.

UpdatedApplicationFullName UpdatedApplicationFullName UpdatedApplicationFullName UpdatedApplicationFullName

Obtient le nom complet de l'application une fois qu'elle a été mise à jour. Gets the full name of the application after it has been updated.

UpdatedVersion UpdatedVersion UpdatedVersion UpdatedVersion

Obtient la version de la mise à jour qui a été téléchargée récemment. Gets the version of the update that was recently downloaded.

UpdateLocation UpdateLocation UpdateLocation UpdateLocation

Obtient le site Web ou le partage de fichiers à partir duquel cette application se met à jour. Gets the Web site or file share from which this application updates itself.

Méthodes

CheckForDetailedUpdate() CheckForDetailedUpdate() CheckForDetailedUpdate() CheckForDetailedUpdate()

Exécute la même opération que CheckForUpdate(), mais retourne des informations détaillées sur la mise à jour disponible. Performs the same operation as CheckForUpdate(), but returns extended information about the available update.

CheckForDetailedUpdate(Boolean) CheckForDetailedUpdate(Boolean) CheckForDetailedUpdate(Boolean) CheckForDetailedUpdate(Boolean)

Exécute la même opération que CheckForUpdate(), mais retourne des informations détaillées sur la mise à jour disponible. Performs the same operation as CheckForUpdate(), but returns extended information about the available update.

CheckForUpdate() CheckForUpdate() CheckForUpdate() CheckForUpdate()

Vérifie UpdateLocation pour déterminer si une nouvelle mise à jour est disponible. Checks UpdateLocation to determine whether a new update is available.

CheckForUpdate(Boolean) CheckForUpdate(Boolean) CheckForUpdate(Boolean) CheckForUpdate(Boolean)

Vérifie UpdateLocation pour déterminer si une nouvelle mise à jour est disponible. Checks UpdateLocation to determine whether a new update is available.

CheckForUpdateAsync() CheckForUpdateAsync() CheckForUpdateAsync() CheckForUpdateAsync()

Contrôle UpdateLocation de façon asynchrone pour déterminer si une nouvelle mise à jour est disponible. Checks UpdateLocation asynchronously to determine whether a new update is available.

CheckForUpdateAsyncCancel() CheckForUpdateAsyncCancel() CheckForUpdateAsyncCancel() CheckForUpdateAsyncCancel()

Annule la vérification de la disponibilité des mises à jour de façon asynchrone. Cancels the asynchronous update check.

DownloadFileGroup(String) DownloadFileGroup(String) DownloadFileGroup(String) DownloadFileGroup(String)

Télécharge un ensemble de fichiers facultatifs à la demande. Downloads a set of optional files on demand.

DownloadFileGroupAsync(String) DownloadFileGroupAsync(String) DownloadFileGroupAsync(String) DownloadFileGroupAsync(String)

Télécharge, à la demande, un ensemble de fichiers facultatifs en arrière-plan. Downloads, on demand, a set of optional files in the background.

DownloadFileGroupAsync(String, Object) DownloadFileGroupAsync(String, Object) DownloadFileGroupAsync(String, Object) DownloadFileGroupAsync(String, Object)

Télécharge, à la demande, un ensemble de fichiers facultatifs en arrière-plan, et passe une partie de l'état de l'application aux rappels d'événements. Downloads, on demand, a set of optional files in the background, and passes a piece of application state to the event callbacks.

DownloadFileGroupAsyncCancel(String) DownloadFileGroupAsyncCancel(String) DownloadFileGroupAsyncCancel(String) DownloadFileGroupAsyncCancel(String)

Annule un téléchargement de fichier asynchrone. Cancels an asynchronous file download.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut. Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle. Gets the Type of the current instance.

(Inherited from Object)
IsFileGroupDownloaded(String) IsFileGroupDownloaded(String) IsFileGroupDownloaded(String) IsFileGroupDownloaded(String)

Vérifie si le groupe nommé de fichiers a déjà été téléchargé sur l'ordinateur client. Checks whether the named file group has already been downloaded to the client computer.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle du Object actuel. Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel. Returns a string that represents the current object.

(Inherited from Object)
Update() Update() Update() Update()

Démarre un téléchargement synchrone et l'installation de la version la plus récente de cette application. Starts a synchronous download and installation of the latest version of this application.

UpdateAsync() UpdateAsync() UpdateAsync() UpdateAsync()

Démarre un téléchargement asynchrone et l'installation de la version la plus récente de cette application. Starts an asynchronous download and installation of the latest version of this application.

UpdateAsyncCancel() UpdateAsyncCancel() UpdateAsyncCancel() UpdateAsyncCancel()

Annule une mise à jour asynchrone lancée par UpdateAsync(). Cancels an asynchronous update initiated by UpdateAsync().

Événements

CheckForUpdateCompleted CheckForUpdateCompleted CheckForUpdateCompleted CheckForUpdateCompleted

Se produit lorsque CheckForUpdateAsync() est terminé. Occurs when CheckForUpdateAsync() has completed.

CheckForUpdateProgressChanged CheckForUpdateProgressChanged CheckForUpdateProgressChanged CheckForUpdateProgressChanged

Se produit lorsqu'une mise à jour est disponible sur un appel CheckForUpdateAsync(). Occurs when a progress update is available on a CheckForUpdateAsync() call.

DownloadFileGroupCompleted DownloadFileGroupCompleted DownloadFileGroupCompleted DownloadFileGroupCompleted

Se produit sur le thread d'application principal lorsqu'un téléchargement de fichier est terminé. Occurs on the main application thread when a file download is complete.

DownloadFileGroupProgressChanged DownloadFileGroupProgressChanged DownloadFileGroupProgressChanged DownloadFileGroupProgressChanged

Se produit lorsque des informations d'état sont disponibles sur une opération de téléchargement de fichier lancée par un appel à DownloadFileGroupAsync. Occurs when status information is available on a file download operation initiated by a call to DownloadFileGroupAsync.

UpdateCompleted UpdateCompleted UpdateCompleted UpdateCompleted

Se produit lorsque ClickOnceClickOnce a fini de mettre à niveau l'application après avoir appelé UpdateAsync(). Occurs when ClickOnceClickOnce has finished upgrading the application as the result of a call to UpdateAsync().

UpdateProgressChanged UpdateProgressChanged UpdateProgressChanged UpdateProgressChanged

Se produit lorsque ClickOnceClickOnce a de nouvelles informations d'état à propos d'une opération de mise à jour lancée en appelant la méthode UpdateAsync(). Occurs when ClickOnceClickOnce has new status information for an update operation initiated by calling the UpdateAsync() method.

S’applique à

Voir aussi