Lorsque l’on diffuse une application .NET on est souvent confronté au problème de la diffusion des mises à jour. Ce besoin peut rapidement devenir une contrainte et s’avérer chronophage, par la complexité des solutions tierces ou propriétaires et lorsqu’elle est abordée en fin de cycle de développement.
Pour résoudre ce problème voyons le composant AutoUpdater.NET (URL du site : http://autoupdaterdotnet.codeplex.com/ et URL du NuGet : https://www.nuget.org/packages/AutoupdaterdotNet/). Afin de voir le fonctionnement de ce composant, je vous propose de réaliser une petite application pour implémenter les fonctions principales de AutoUpdater.NET.
Création de notre solution
Nous créons une solution vide de type Application Windows Forms :
Nous ajoutons à notre solution le package AutoUpdater.Net via le gestionnaire de package de NuGet :
Nous nous retrouvons avec la solution suivante :
Site distant
Pour vérifier la présence d’une nouvelle version à télécharger, notre application aura besoin d’un site distant contenant un fichier XML listant les propriétés de la version en cours, ainsi qu’un fichier HTML contenant la liste des modifications réalisées sur cette version.
Pour cela nous pouvons utiliser IIS afin de créer un répertoire virtuel qui va nous permettre de réaliser des tests en local :
Il nous reste à déposer sur ce répertoire virtuel un fichier de version, un fichier de note de version ainsi que l’exécutable de mise à jour.
Fichier de version
Le fichier de version est un fichier XML qui se compose ainsi :
- Un titre
- Un numéro de version
- Une URL de téléchargement de l’exécutable de mise à jour
- Une URL d’un fichier HTML contenant les notes de modification de la version
Fichier de note de version
Le fichier de note de version se présente sous la forme d’un fichier HTML. Son contenu n’est pas normé, il peut être librement rempli.
Vérification de la version
Maintenant que nous avons notre fichier de version et notre fichier de note de version disponible, nous pouvons ajouter l’appel à AutoUpdater.NET au sein de notre application.
La vérification d’une nouvelle version de notre application se fait simplement par l’appel de la fonction Start de la classe AutoUpdater.
Nous pouvons rajouter au démarrage de notre application l’appel de cette instruction, afin de vérifier à chaque lancement l’existence d’une nouvelle version de notre application.
Désormais lors de son démarrage, notre application ira lire le fichier « version.xml » présent à l’url http://localhost/MiseAJour/. Ce fichier contiendra les informations relatives à la version en cours.
Interface de mise à jour
Si nous exécutons notre solution, l'interface ci-dessous sera présentée en cas de détection d'une nouvelle version (comparaison du numéro de version de l'assembly en cours d’exécution et du fichier de version présent sur le serveur de mise à jour) :
On retrouvera les différentes informations contenues dans le fichier de version, c’est-à-dire le titre, le numéro de version ainsi que la présentation des modifications sous la forme du fichier HTML.
Le code d’AutoUpdater.NET est librement accessible à cette adresse : https://autoupdaterdotnet.codeplex.com/SourceControl/latest. Vous pouvez donc adapter cette interface selon vos besoins, et rajouter des propriétés ou bien faire évoluer l’interface.