begin process at 2012 02 12 04:36:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > APPLICATION AUTO UPDATE IN VB.NET

APPLICATION AUTO UPDATE IN VB.NET


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Source .NET ( DotNet ) Classé sous :update, autoupdate, liveupdate, jour Niveau :Initié Date de création :05/07/2007 Vu / téléchargé :18 564 / 1 592

Auteur : christian_grandjean

Ecrire un message privé
Site perso
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

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



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) EXEMPLE PERMETTANT DE MONTRER LE DRAG AND DROP (GLISSER DÉPL...
Source avec Zip Source avec une capture Source .NET (Dotnet) EXEMPLE DE L'UTILISATION D'UN TREEVIEW, POPULER, DRAG AND DR...
Source avec Zip Source avec une capture Source .NET (Dotnet) EXEMPLE D'UTILISATION DU XML AVEC VB.NET
CONTRÔLER OUTLOOK 2003 - ENVOYER UN MAIL DEPUIS VB.NET 2005

 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TIMECRAFT - UNE HORLOGE POUR MINECRAFT par ditleporc
Source avec Zip Source avec une capture Source .NET (Dotnet) CALCULS DE DATES À PARTIR D'UN CALENDRIER par jcbouli
Source avec Zip Source avec une capture Source .NET (Dotnet) NOUVEAU CONTRÔLE DYNAMICDATAGRIDVIEW par simo5963
Source avec Zip LAUNCHER - VÉRIFICATEUR DE NOUVELLE VERSION AVANT EXÉCUTION ... par UnrealH
Source avec Zip Source avec une capture SYSTÈME DE MISE À JOUR AUTOMATIQUE PAR INTERNET : T.C.E.D.I.... par tcedi

Commentaires et avis

Commentaire de chris81 le 06/07/2007 10:26:28

pourquoi s'embeter alors qu le click once fait ca tres bien

Commentaire de christian_grandjean le 06/07/2007 11:47:58

Bonne question absolument.
Bien je vais tenter d'y répondre. Si j'ai modifié le code c'est que j'en avais besoin pour une utilisation particulière, donc comme je participe à la communauté je l'ai publié car il y a des personnes pour qui celà peut être également utile.

Faites des remarques constructives et pourquoi pas publiez un tuto sur le comment utiliser le Click Once.

Commentaire de Elxior le 08/07/2007 03:57:18

"pourquoi s'embeter alors qu le click once fait ca tres bien"
Si on veut une belle MAJ comme celle des AV par exemple, et qu'on souhaite modifier à notre guide les mises à niveau... Il a le droit de poster les sources qu'il veut, et moi je la trouve très bien.
Il manque un peu de finission mais c'est très bien. Au faite pourquoi tu commentes le code en anglais ?
8/10.

Commentaire de apwwn le 11/07/2007 15:43:58

mmm le click once c'est bien, mais pour moi par exemple qui n'utilise pas cette installeur et qui veu installer un script d'auto update, ce script est pas mal ^^

Commentaire de OneHacker le 16/07/2007 22:06:26

Moi j'ai fait le meme programme que toi à part qu'il met que à jour un fichier choisi(en principe l'exe) et clickonce c'est nul ça marche  pas très bien et la page HTML est trop classique.

Commentaire de cedricsynix le 17/11/2007 21:22:14

Pour ma part j'ai pas mal utilisé clickonce et ce que je reproche c'est son installation. Pas de raccourci sur le bureau, pas de répertoire dans progam files, ...
L'avantage d'un EXE classique c'est que c'est plus maitrisable du coté de l'installation. Pour moi un setup qui ne propose pas un raccourci sur le bureau n'est pas un setup...

J'ai un prog à faire et je dois y inclure des fichiers à réutiliser (txt, ...)
Comment puis-je les intégrer à mon soft en clickonce?

merci

Commentaire de dimitriusai le 11/03/2008 14:37:49

En effet, clickOnce ne permet pas d'avoir un répertoire dans program files mais le cache au fin fond des documents et settings.

Je vais donc essayer d'utiliser ta solution "christian_grandjean" .
Petite question : est il possible par exemple d'updater simplement un exe.
Je m'explique, j'ai une simple application donc mes utilisateurs n'ont que l'executable.
Est il possible de mettre à jour grace à ta solution mon executable ou permet il juste l'update de fichier de cfg, ou autre.

Merci d'avance

Commentaire de christian_grandjean le 11/03/2008 15:33:22

Oui c'est possible c'est exactement ce que je fais avec le "LOTRO Cartographe", le seul problème que tu pourrait rencontrer c'est l'update de l'application d'update. La solution étant de renommer le fichier sur le serveur genre AutoUpdate.ex_, que tu télécharge via AutoUpdate et renommage du fichier de AutoUpdate.ex_ vers .exe lors du lancement de ton application principale.

Si vous voulez un exemple allez sur mon site http://www.simple-tech.info et dans la rubrique Le Seigneur des Anneaux puis téléchargez le LOTRO cartographe.

Salutatations

Commentaire de christian_grandjean le 11/03/2008 15:40:24

PS : Pour répondre précisément à ta question car je m'emporte, tu peux updater ce que tu veux et en mode recursif ou non...

Commentaire de christian_grandjean le 11/03/2008 15:44:30

Réponse Commentaire de Elxior le 08/07/2007 03:57:18
Désolé je n'avais pas vu ta question, je commente le commentaire en Anglais car c'est pour moi beaucoup plus portable pour le publier et l'utiliser au boulot, en fait la plupart des documentations et de codes sont en Anglais donc je doc en Anglais.

Commentaire de trunksx le 04/06/2008 17:57:12

nice tuto i was loking that

Commentaire de Hydromelius le 10/12/2009 01:52:39

bon sa date de y a déjà un moment mais le principe de ce petit updater est super c'est exactement ce que je recherchais.. mais.. et oui il y a un mais j'ai un soucis lorsque je met mon auto update.exe dans un dossier vide et que je l'exécute il dl bien tout les fichier..

mais lorsque je l'exécute et qu'il y a déjà les fichiers il me met une erreur après réception du manifest:
System.OutOfRangeException; l'index ce trouve en dehors du tableau.
à AutoUpdate.Module1.GetVersion(StringVersion)
à AutoUpdate.Module1.ProcessUpdate()

voila sachant que dans mes fichier a mettre a jour il y a des image qui elles non pas de version peut être le problème viens de la.. si quelqu'un pourrai m'aider se serais simpa je voudrais finaliser cette histoire d'Updater avant de mettre mon log en ligne.

PS: je suis pas un pro en VB le problème vient peut être de la aussi ^^

Commentaire de christian_grandjean le 10/12/2009 14:19:00

Bonjour Hydromelius,
J'ai souvent eu des problèmes avec les permissions NTFS essaie de regarder de ce côté là.
Sinon esaie de regarder après la création le contenu du fichier manifest et recherche/verifie que tous les fichiers contenus dans le manifest on bien un nom et une date.
J'ai également eu des problèmes entre des dates de type suisse/france et le format de date Canada/US, va voir mon site pour en savoir plus.
http://www.simple-tech.info/forum_topic.asp?TOPIC_ID=6&FORUM_ID=12&CAT_ID=4&Topic_Title=FAQ+Principale+des+Cartographes&Forum_Title=Warhammer+Online+Cartographe
J'attend ta réponse...

Commentaire de Hydromelius le 11/12/2009 17:29:54

Salut, pour tout te dire non je m'en sors pas du tout (oui je reste limiter en vb) donc j'ai trouvé une parade simple pour pouvoir l'utiliser sans toute cette vérification de versions, dates, etc de cette manière:
Dim FileExists As Boolean = File.Exists(RealFileName)
If FileExists = True Then
File.Delete(RealFileName)
End If
Comme sa il supprime les fichiers et arriver à
If Not FileExists = True Then
isToUpgrade = True
il re-télécharge a savoir que j'ai que 3 fichier que sa pèse même pas 1mo donc sa gène pas du tout de re-télécharger a chaque fois le tout..
après pour automatiser le tout au démarrage j'aimerais bien si il y a moyen de faire simplement une comparaison de fichier XML pour me simplifier la chose vu que ma technique marche, je m'explique j'ai un XML sur mon disque avec marquer dedans 0.0.1 pareil sur le serveur de MaJ, au lancement de mon vb il ouvre form1 qui serai le code de vérification si c'est le même il passe a la form2 (le prog en question), si c'est pas le même (0.0.2) il lance un Call Shell("Auto-Update.exe").
je sais pas si c'est explicite mais je pense que ce serai plus simple pour moi et j'aimerais vraiment avoir un auto update sur mon log.. les base du vb sa va mais après sa devient la cata je m'en sort plus.. Sachant que sa reste dans le même principe que cette auto update pour la vérification.. après moi ce que je cherche c'est vraiment au plus simple il voit que le contenu est pas le même il lance l'auto update même si sur le disque j'ai 0.0.5 et sur le serveur 0.0.2 (après le numéro dans le xml sera plus un repère pour moi) j'ai chercher plein de code d'auto update et c'est le seul qui fait vraiment ce que je souhaite sans avoir une usine a gaz..
si ta le temps de m'aiguiller un peu : noumeres@hotmail.com sa sera surement plus simple quitte a ce que je reposter après pour poster le code si j'arrive a le faire avec ton aide..
Et oui désolé y a des gens faut tout leurs faire limite je croit que j'en fait parti :p
En espérant que tu puisse m'aider, merci d'avance.

Commentaire de christian_grandjean le 12/12/2009 17:42:32

Je te contacte sur MSN

Commentaire de ben01n le 05/07/2010 10:54:59

Merci pour cette appli qui m'a l'air très bien conçue.
Par contre, j'ai un petit soucis.
A chaque fois, quand il tente de download le 1er fichier j'ai l'erreur suivante :
"Le serveur distant a retourné une erreur : (403) interdit."
Je comprend bien que cela vient d'un mauvais paramétrage du serveur web où se trouve les fichiers mais je n'ai aucune idée de la manière pour régler ce problème.
une ptite idée ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Windows Update et LiveUpdate [ par Cpapy ] Bonjour, j'ai été obligé à plusieurs reprises de restaurer Windows XP avec les masters CD. J'ai de ce fait été obligé derecharger toutes les mises sql update (*2?) [ par acorna ] Hello,J'ai besoin de mettre à jour un champ. J'utilise pour cela une requete sql update. L'ennui, c'est que le champ doit etre mis à jour à partir d'a Update [ par lami75 ] svp je souhaite mettre à jour des données d'un champ d'une table acces!suis je obligée de mettre à jour au meme moment les données du meme cham Ne pas avoir de msgbox quand on fait un Update [ par tranquiloubilou ] ThomThomsalut salut je sais pas si vous savez mais quand on exécute un Update sous VBA On a un msgbox qui apparait pour dire "Vous allez mettre à jour bouuuuuuh.....mise à jour d'une table !!! [ par preempalver ] Bonjour,j'ai une table access et je souhaite la mettre à jour grace à des valeurs récupérées en boucle et mises dans des variables. La boucle marche m Problème de requête : UPDATE [ par loupopeye ] Salut,J'essaie de faire une application, j'ai presque fini mais je n'arrive pas à faire fonctionner ma requête UPDATE, elle est trop longue et ne tien Mise à jour, update impossible [ par dan24 ] Bonjour à tous,J'ai un petit problème que j'ai du mal à comprendre.Voilà le code (je n'ai pas mis les déclarations de variable, le problème ne venant Mettre a jour ma table via UPDATE : marche pas [ par foliop ] salutjai un bouton avec dedans :Dim update As New ADODB.Recordsetn = Text16.Textp = Text18.TextSet update = DE1.Connection1.Execute("Update résultats Problème de requête de mise à jour - Update - [ par rmaj ] Bonjour, je m'arrache les cheveux depuis 2 jours sur une simple requête de mise à jour ; la requête est la siuvante : "Update MATERIE update [ par ToToL ] Bonjour J'ai un probleme qui a du arriver a certain d'entre vous : Je cherche comment executer un code php tout le jour à la meme heure ( par


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 11,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales