begin process at 2012 02 16 02:29:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > AUTO-UPDATE : MISE À JOUR AUTOMATIQUE DE VOS LOGICIELS

AUTO-UPDATE : MISE À JOUR AUTOMATIQUE DE VOS LOGICIELS


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Classé sous :maj, update, setup, logiciel Niveau :Débutant Date de création :08/06/2006 Date de mise à jour :09/06/2006 11:18:31 Vu / téléchargé :30 799 / 1 781

Auteur : bouv

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Voici un petit code sans prétention pour mettre à jour automatiquement vos logiciels depuis votre site Internet.

FONCTIONNEMENT:
Vous créez un fichier contenant pour chacun de vos logiciels l'architecture suivante

[Nom_Du_Logiciel]
Version=La_Version_Du_ Logiciel
URL=http://www.monsite.fr/setup.exe

Le logiciel recherche ensuite automatiquement s'il existe une version plus récente et vous propose de l'installer.



IMPORTANT:
'Nom_Du_Logiciel'doit être identique à ce que vous avez entré dans les propriétés du projet dans la case Titre. C'est l'information que renvoi App.Title
'La_Version_Du_Logiciel' doit être écrite sous la forme Major.Minor.Revision


***ATTENTION***
Lorsque vous lancez le programme il va recherché un mise à jour pour lui même et en trouver une.
Si vous cliquez sur [Installer], il va télécharger un fichier nommé Setup.exe
Ce fichier ne fera qu'afficher une MsgBox sur votre écran. Ce fichier est 100% sûr.
Mais je peux comprendre que vous ne souhaitiez pas lancer d'exe que vous ne connaissez pas. Dans ce cas supprimez simplement la ligne suivante :
Call Shell(AppPath & "setup.exe", vbNormalFocus)
Dans le module 'mod_Update' et dans la procédure 'Download_Update'

Source

  • Call Find_Update
  • Call Download_Update
Call Find_Update
Call Download_Update

 Conclusion

Le module mod_Web a été trouvé sur ce site il y a quelques temps mais je ne me souvient plus qui l'a posté.
Merci à son auteur.

Merci également à Renfield pour m'avoir aider à optimiser un peu tout ça. ^^

 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


 Historique

09 juin 2006 08:06:12 :
Correction de la routine qui compare les versions
09 juin 2006 11:18:31 :
Optimisation du code grace aux conseils de Renfield

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) ADO.NET SANS DOULEUR
Source avec Zip Source avec une capture Source .NET (Dotnet) OCR (UTILISATION DE TESSNET2.DLL)
Source avec Zip Source avec une capture Source .NET (Dotnet) LISTVIEWEX
Source avec Zip Source avec une capture Source .NET (Dotnet) SPAM ANTI SPAM
Source avec Zip Source .NET (Dotnet) UTILISER ADO.NET COMME EN ADO (RECORDSET)

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip Source avec une capture JEUX DE VERITÉ ET DE FIDELITÉ par billatosco
Source avec Zip IMAGELOARDER par vkitumaini
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN CALENDRIER DE POCHE par Le Pivert
Source avec Zip RECHERCHE D'UN ENREGISTREMENT DANS UNE DATATABLE ET POSITION... par erdna

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo
Source avec Zip Source .NET (Dotnet) INSTALL DLL OCX ( ACTIVEX ) par gillardg
Source avec Zip Source avec une capture NORTON UPDATE par bouv
Source avec Zip SYSTEME DE MISE À JOUR par ciberrique
Source avec Zip UPDATE par DAN

Commentaires et avis

Commentaire de Renfield le 09/06/2006 08:04:53 administrateur CS

Sympatique ^^

Commentaire de bouv le 09/06/2006 08:08:00

Merci,
Sinon, ton commentaire viens de se croiser avec une petite MAJ
++

PS : Je suis ouvert à toute optimisation.

Commentaire de Patrice99 le 09/06/2006 08:28:46

Bien. Cette fonctionnalité à maintenant été intégrée au framework DotNet2 (cf. VB 2005, la version Express est gratuite).

Commentaire de bouv le 09/06/2006 09:41:16

Interressant, j'ai malheureusement encore un peu de mal avec le .NET
A vrai dire je travaille un peu deçu mais à la façon de VB6.
Je perds donc tout les avantages et nouvelles fonctionnalités du .NET. Par contre je me trimbale sa 'lenteur'.

++

Commentaire de Patrice99 le 09/06/2006 10:55:15

Un peu dessus et un peu déçu : voilà un joli lapsus orthographique :-)

Commentaire de bouv le 09/06/2006 11:03:31

oui lol, j'ai tapé trop vite...

Commentaire de diablamanshadow le 09/06/2006 11:06:08

bien comme source moi je fesais encore plus simple je mettais un bt mise a jour (si le mec click dessus ses qui la veut ....) donc y click dessus et il essaye de telecharger un fichier sur un server (l'url est dans le prog) si il arrive a le telecharger ses que je l'ai mis sinon il dit qu'y a pas de maj si y en a une il la download et il l'execute puis se ferme et cette new apli kill l'ancienne et dans la new je met une new url cellde la prochaine version et idem si elle peut etre telecharger nikel sinon ses que j'ai pas fait de maj ^^
sa prend en tt 17 lignes de code ^^

bien a vous
Diablaman

ps: (un ptit 8 s'impose car jm bien ton prog et ses bien penser ^^)

Commentaire de bouv le 09/06/2006 11:29:02

Merci DIABLAMANSHADOW. Effectivement il s'agit d'une question de choix. Cela dit tu peux également faire la même chose avec mon code, il suffit de l'adapter, et cela ne demanderai que très peux de modif.
J'aurais par contre effectivement plus de 17 ligne ^^

Cela dit, j'avais pensé à ta solution mais j'ai préféré l'utilisation du fichier ini (un xml irai également très bien, mais le ini suffit largement ici) car il m'offre un peu plus de possibilités.
1°- Seul ce fichier doit resté à la même adresse. J'ai ainsi le choix stocker mes Setup sur le serveur que je veux car sont URL est stockée dans le .INI

2°-Rien n'empêche par la suite de mettre plusieurs lien dans le fichier ini du type :
[MAJ_Logiciels]
Version=2.1.4
URL=http://decf20012003.free.fr/maj/MAJ_Logiciel_Setup.exe
URL2=http://MonAutreSite.free.fr/maj/MAJ_Logiciel_Setup.exe

Si le premier lien est mort on essai le 2ème.

Bonne prog
++

Commentaire de diablamanshadow le 09/06/2006 11:32:55

ouais je vois mais je prefere ma soluce elle me suffit largement pour le momment au vu que mes update sont mineur et generalement quand ses des major je met un nouveau setup complet en telechargement ^^

Commentaire de Renfield le 09/06/2006 11:41:16 administrateur CS

on regrette presque que l'URL de récupération de la liste soit en dur :
sURL = "http://decf20012003.free.fr/maj/config.ini"

Commentaire de diablamanshadow le 05/09/2006 01:37:30

pourrais tu m'exposer plus clairement ta source au vu que maintenant j'utilise des mise a jour plus grosse mon system ne suis plus (maj trop grosse ^^ et sa fige mon prog)

donc si tu pouvais mettre une petite explications rapide se serais sympa ^^
genre je tape koi ou quand etc ^^

Commentaire de diablamanshadow le 05/09/2006 02:10:15

bon ata je verifie si j'ai bien compris car j'ai relooker le code source pour recomprendre le fonctionnement ^^
je donne mon exe + liste.ini au dit client quand le prog s'ouvre il look l'ini config qui se trouve sur mon server ensuite il le telecharge et le compare avec liste.ini si la version contenue dans config.ini est plus elevee que celle du liste.ini "locale" de l'utilisateur alors il dit qui a plus recent , donne la version de la mise a jour etc et propose le telechargement sinon il met vous avez la version la plus recente ^^
s'il y a une nouvelle version et qu'il click sur installer il telecharger l'exe contenu dans la variable url du liste.ini
jusque la je pense avoir juste ^^'

ce que je comprend pas ses pour les fichiers ini coter version et url en faite :-/ liste.ini dois contenir la version du logiciel actuelle + l'url du fichier d'une potentiel mise a jour sa apparement j'ai juste ^^

et dans le ini du server ftp donc config.ini tt est pareil que dans liste.ini sauf la version (pour la comparaison) donc liste.ini = version actuelle du prog et config.ini = version de la mise a jour donc a chaque fois qu'on fait une maj il faut modifier le config ?

sinon en gros admettons il click sur installer sa telecharge l'exe de liste.ini et puis sa remplace les donnee de liste.ini par config.ini ?

voila voila je sais pas si j'ai ete totalement clair mais normalement c'est comprehensible et je pense que l'essentiel de mes questions sont bien la ^^

a oui j'oubliais -_- si le ptit con dit client modifie liste.ini sa risque pas de poser probleme ? car je vois bien vennir le mec remplacer l'url de l'ini par un virus puis il distribue sa nouvelle version de mon logiciel et les gens se contamine puis on dit que ses ma faute ... ses possible ca ?

merci d'avance
Diablaman

Commentaire de bouv le 05/09/2006 11:20:37

Salut,

Tu fais une confusion entre config.ini et liste.ini.
Il s'agit en fait du même fichier.
Le programme telecharge le fichier config.ini et le nomme liste.ini (simple choix perso, on aurait pu laisser le nom config.ini ou n'importe quel autre).
Puis on vérifie dans le fichier liste.ini la dernière version de notre logiciel pour savoir s'il faut faire une MAJ.

Il n'est donc pas possible de modifier le config.ini sans avoir les codes d'acces au serveur. (essai donc de modifier mon config.ini sur le site decf20012003.free.fr).

Cependant, une fois le fichier ini telechargé rien n'empeche l'utilisateur de modifier l'URL du fichier à telecharger avant de lancer l'install.
Mais cette modification n'aura aucune conséquence pour les autres poste qui ont le même logiciel.
Donc pas grand risque : je ne vois pas pourquoi quelqu'un s'amuserait à ça, vu que cette modif ne concernera que son poste. Si le gars à l'URL d'un virus et qu'il veut l'installer son sur poste, il va directement le telecharger et l'installer.

Je sais pas si j'ai répondu à toutes tes questions. Sinon dis-le moi.

++

Commentaire de diablamanshadow le 05/09/2006 11:58:57

aaaaaaaaaaa ok j'ai compris en faite liste.ini n'est pas la au demarrage du logiciel ! en faite je dois juste donne l'exe , quand le mec lance l'exe bah l'exe telecharge config.ini depuis mon server et le renomme en list.ini et ensuite seulement il le lis et alors il verif entre ce qui a dans liste.ini qui est en faite config.ini et la version de mon prog !

je crois que j'ai compris mais euh vaut mieux que j'ajoute ca en form a mon logiciel ou que je fasse un exe a pars du mien appeler Upadate.exe ou quoi que je lancerais en meme temp que mon appli ?

enfin sinon oui tu as repondu au 3/4 de mes quizz et le quart qui reste ses pas grave j'ai trouver ^^

donc en gros l'exe telecharge config.ini qui est renommer en local en liste.ini mon prog lis le liste.ini et compare sa version par rapport a celui de l'ini ensuite il dit qui a une mise a jour ou non ^^ ensuite une fois qu'il la lu il le kill ?

enfin voila en gros mes quizz sont juste :

-est ce que apres lecture de l'ini le prog le kill ?
-est-ce que liste.ini est bien en faite config.ini telecharger depuis l'exe mais renommer ?
-je vois que tu met [Hello World] (car me souvient plus de l'autre nom) ce nom correpond a quoi en faite exactement ? au nom du logiciel sans le .exe ? a une caption ? ... ?
-vaudrais t'il mieux faire un exe d'update lancer en meme temp que mon prog ou instaurer dans mon prog une frm en plus etc ?

voila je crois que j'ai plus que ses quatre quizz la ^^

Commentaire de bouv le 05/09/2006 13:08:36

- Non, je ne pense pas avoir prévu que le prog supprime le fichier liste.ini après la MAJ. Mais seulement lors d'une nouvelle vérification des MAJ. Mais cela est très facile à implémenter.

- Oui, liste.ini est bien config.ini une fois renommé.

- Non [Hello World] ne correspondt à rien, c'est juste un exemple pour montrer que le fichier config.ini peut contenir la liste des MAJ de TOUT tes logiciels. Ainsi TOUT tes logiciels vérifieront leurs MAJ en téléchargeant le même fichier config.ini.
Le logiciel [MAJ_Logiciels] exite en version 2.1.4
Le logiciel [HELLOWORLD] existe en version 1.8.10
Et on peut en ajouter autant que l'on veut ;-)

- Sinon pour le choix de faire un exe à part, je suis pas très chaud. Au mieux on peut faire une DLL Ou un OCX. Mais cela compliquerait (un peu, vraiment peu) l'utilisation de la fonction. Il faudrait en effet lui passer un peu plus de parametres. Ici tout est géré de façon automatique. Puisque tout est intégré, le logiciel connait évidemment son propre nom et sa version. Tu aura remarqué que le nom entre les [ ] dans le fichier config.ini correspond exactement au App.Title de mon projet exemple.
Mais rien n'empeche que faire une DLL et de lui passer le App.Title et la version en parametre.

++

Commentaire de diablamanshadow le 05/09/2006 16:34:55

ok ok donc je met dans mon projet en plus tes 4 modules + la form et quand la personne lance l'exe de mon prog je fais ouvrir en meme temp la form des maj comme ca ca devrais allez :-)

ok ok bah donc comme je disais par exemple MAJ_Logiciels est le title du programme dans l'ini donc je dois modifier MAJ_Logiciels par le title de mon appli ^^ (ainsi que le lien il en va de sois :p)

sinon voila voila je crois que ta bien repondu a tt mes quizz et je v adapter ca :p

Commentaire de Phsyco le 09/12/2006 15:48:39

Salut Je suis Nouveau dans ce genre de Coding,Puis je avoir de l'aide svp???

Commentaire de bouv le 10/12/2006 10:36:26

Aucun problème, encore faut il que tu pause une question ;-)

Commentaire de bouv le 13/12/2006 22:52:45

Humm, as tu regardé le code ?
3 lignes supplémentaires et le code que j'ai posté fait exactement cela

Commentaire de Rido159 le 20/09/2008 06:11:00

tres bonne source , mais est ce que c'est normal quand je crée l executable , il est détécté comme un trojan ?

Commentaire de bouv le 20/09/2008 11:45:39

euh non pas vraiment. Quel antivirus possedes tu ?

Commentaire de kkZ le 04/08/2009 12:45:21

Salut,
merci pour ce code, très pratique.
J'ai seulement relever un probleme de cache. en effet, le fichier qui se télécharge peut également etre dispo en cache, auquel cas, le nouveau ini n'est télécharger.
Il faut vider le cache avec :

Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
et ajouter
    'On vide le cache Internet
    Call DeleteUrlCacheEntry(URL)
dans la fonction DownloadPage

Commentaire de massilia68 le 28/11/2009 17:40:58

c'est normale que dans votre .zip il n'y a pas de fichier .exe ?

Commentaire de Hydromelius le 12/12/2009 12:18:08

Bonjour, voila j'ai un ptit soucis chez moi sa marche pas quand il télécharge le .ini il le modifie comme ceci:
[MAJ_Logiciels][]Version=2.1.4[]URL=http://decf20012003.free.fr/maj/MAJ_Logiciel_Setup.exe

a la place des [] j'ai des carré et il met tout sur une seul ligne, du coup il me ressort: "Impossible de télécharger la liste des mises a jours"

pasque ce principe m'intéresse je recherche un truc dans le genre donc dans ce cas prenons le .ini je vous explique:

j'ai déjà un système de mise a jour, mais je souhaiterais l'automatiser en modifiant ce code comparer avec autre chose par exemple on a version.ini sur le disque avec l'appli il télécharge le config.ini et au lieu de comparer config.ini avec le prog il le compare avec version.ini si c'est diffèrent il lance mon système de mise a jour qui lui en même temps mettra version.ini a jour.

donc pour faire sa je pourrai surement me débrouiller et trouver un moyen mais fraudais t'il déjà que la première parti fonctionne :(
PS: j'ai repasser le code sous VB 2008, est ce que sa peut y jouer?
voila merci d'avance pour vos réponse.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Générateur de Setup [ par recmi ] Est-il possible de créer un logiciel qui génère un Set up ? Explication J'ai créé un logiciel qui génère des fich Projet Setup permetant un update ???? [ par renocmoa ] Bonsoir,Quelle serait l'astuce dans un projet de deploiement pour pouvoir reinstaller sans desinstaller avant. En bref faire un Setup qui fasse un upd Logiciel [ par Oxygene34 ] Bonjour a tous... Je voudrais savoir avec quel logiciel écrire du .vbs Merci questions pour creer un logiciel de création de code vb pour crypter [ par omesh ] Bonjour, je vais vous présenter mon  projet : j'aimerais creer un logiciel qui permette de génerer du code vb pour faire du cryptage très simple (à l' pb avec un update [ par mistercompa ] bonjour à tous,au faite j'ai un probleme avec un UPDATE, quand il n'y a qu'une seule condition il passe bien, mais quand j'ajoute une autre condition Inno Setup compiler iss - exe, msi [ par smed79 ] bonsoir,je vien d'installer Inno Setup génial ! mais meme en lisant le help et le faq j'ai pas réussi a compiler un fichier "exe" ou "msi" pour window Création d'une Setup pour un programme en VB [ par hich2008 ] Bonjour,J ai fait un petit programme en VB2005, et j ai généré le setup, mais je veut inclure quelques autres options lors de l'installation.Je veut q Développement logiciel [ par hassoun45 ] SVP quel est le meilleur logiciel de developpement d'un logiciel de production renfermant plusieurs tableaux de données.Merci pour votre aide. aide creation logiciel [ par polodu86 ] bonjour a tous.je ébute en visual basic et mon but étant de creer une application comme gigatribe v 3.04 beta au niveau de l interface tout d abord et Update à partir d'une 2ième table [ par amiraD ] Bonjour, Voilà je vous explique mon objectif. J'ai deux tables : TableA et TableB. TableA contient deux champs NomA et CodeA. (Exemple : Tunisie -- T


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 0,718 sec (4)

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