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
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 / Exemple :
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. ^^
[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.
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
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.