Ce code permet de faire un auto update de fichiers depuis un serveur web dans votre application, (comme LiveUpdate) afin de mettre à jour une application ou des fichiers, l'update ferme l'application, fais les mises à jours y.c. l'executable et relance la nouvelle version.
Il permet de mettre à jours une liste de fichiers en fonction d'un fichier de référence contenu sur le serveur.
Le code contient 3 projets :
AutoUpdate (l'application moteur permettant les mises à jour)
MainApp (une application par défaut permettant la démo)
ServerManifest (application permettant de générer le fichier de mise à jour)
Principe de fonctionnement :
Vous créez un fichier de référence avec "ServerManifest".
Lors de l'exécution du programme "AutoUpdate", il se connecte au serveur et télécharge le fichier "ServerManifest.xml" qui contiens
la liste des fichiers, la date, la version, le répertoire, etc....
Le programme compare les fichiers contenus dans le répertoire de l'application et la version stockée sur le serveur.
Si le fichier est nouveau il le télécharge sous un autre nom, puis le copie au bon endroit.
Si le fichier est le même il ne fais rien.
Si le fichier n'existe pas il le télécharge sous un autre nom, puis le copie au bon endroit.
Utilisation du code tel quel :
Créez un répertoire "MainApp" sur votre serveur web.
Affectez les droits de lecture.
Exécutez le programme ServerManifest afin de créer le fichier XML de référence
Exécutez le programme "MainApp" pour lancer la mise à jour.
Ce code est une évolution du code trouvé à cette adresse http://www.codeproject.com/vb/net/autoupdate.asp, ma participation est d'y avoir ajouté la récursivité et la recréation automatique des répertoires et sous répertoires, j'ai également supprimé quelques bugs et l'ai rendu compatible VB.NET 2005.
@CEREAL