Explication du mécanisme de mise à jour ClickOnce

Lors de l’utilisation de ClickOnce pour le déploiement d’application, on se demande souvent comment se comporte ClickOnce en fonction des différentes actions utilisateur et comment peut-on agir sur ce comportement.

Définition de la version minimum

Il est parfois nécessaire d’empêcher les utilisateurs
d’utiliser une ancienne version d’une application (compatibilité avec une base
de données sur un serveur, bug connu, etc...). Pour cela ClickOnce propose un
mécanisme de version minimum en dessous de laquelle une application ne pourra
plus se lancer. Cette option est définie dans le manifeste de déploiement comme
suite :

<deployment
install="true" trustURLParameters="true" minimumRequiredVersion="7.1.16.0">

 Lorsque
ClickOnce trouve une mise à jour disponible, avant de proposer à l’utilisateur
la mise à jour, il vérifie si la version présente sur le serveur est la version
minimum. Dans ce cas aucune confirmation ne sera demandée à l’utilisateur et
ClickOnce démarrera automatiquement la mise à jour.

Définition de la périodicité

Le processus de mise à jour ClickOnce est régi par le
manifeste de déploiement. Dans celui-ci la souscription du client au mise à
jour se définis comme suit :

<subscription>

        
  <update>

<expiration maximumAge="6"
unit="hours" />

          
</update>

</subscription>

La section « Expiration » définis la périodicité
selon laquelle ClickOnce vérifiera les mises à jour disponible.

La pop-up de confirmation de mise à jour :

Il existe 3 actions utilisateur possible :

Cliquer sur OK

Lorsque l’utilisateur confirme la mise à jour de
l’application, ClickOnce télécharge la nouvelle version de l’application puis
la démarre.

La version détectée est considéré comme obligatoire si
l’option <minimumRequiredVersion> est spécifiée dans le manifeste de
déploiement et que la version spécifiée est supérieure à la version disponible
sur le poste client. Dans ce cas, ClickOnce ne propose pas de possibilité de
refuser la mise à jour et se comportera comme si l’utilisateur avait cliqué sur
OK.

 

Cliquer sur SKIP

Lorsque l’utilisateur clique sur SKIP, clickOnce démarre
l’application déjà installé sur le poste client. De plus ClickOnce ne proposera
plus la mise à jour pour cette version pendant une semaine. Il est impossible
de configurer le délai après lequel ClickOnce repropose la mise à jour.

ClickOnce ne propose plus de mise à jour mais continue de
vérifier la présence de mise à jour sur le serveur. Ceci afin de détecter la
présence d’une version supérieur à celle que l’utilisateur a skippé :

  • Ex : l’utilisateur skipp la version 2.0 et
    la version 3.0 est disponible sur le serveur
    è
    nouvelle pop-up de mise à jour

 

Fermer la pop-up via la croix rouge Windows

Lorsque l’utilisateur ferme la pop-up via la croix rouge de
la fenêtre Windows, ClickOnce démarre l’application installé sur le poste
client, mais n’enregistre pas la mise à jour comme « à skipper ».
ClickOnce fera de nouveau une vérification au prochain démarrage de
l’application, et proposera de nouveau une mise à jour à l’utilisateur.

Bien sur il est possible de piloter les mise à jour directement depuis le code C# afin d'ajouter certaine taches de mise à jour ou encore d'en modifier le comportement. 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.