Launcher - vérificateur de nouvelle version avant exécution d'une application (ou d'un fichier dépendant d'une application)

Soyez le premier à donner votre avis sur cette source.

Vue 9 501 fois - Téléchargée 638 fois

Description

Bonjour,

Cette application sert à exécuter un exécutable ou un fichier nécessitant une application "mère" en vérifiant s'il y a lieu de le mettre à jour avant de le "launcher".

Un besoin récurrent m'a encouragé à effectuer ce développement, ne trouvant aucune source similaire sur le net.
Développeur, entre autres, d'applications Access, le problème des mises à jour se posait souvent.

L'application est développée en VB6 et nécessite la DLL VB6FR.DLL (dans System32) pour fonctionner.
Elle ne fonctionne pas sous Vista 64 bits :( J'envisage une migration sous VB 2005.

Fonctionnement :
Le paramétrage du Launcher est stocké dans un fichier INI (Launcher.ini) créé au même endroit que le Launcher.
Pour effectuer le paramétrage, le fichier Launcher.ini doit être absent.
Renseigner l'écran de paramétrage en spécifiant :
- Le nom de l'application (inutilisé dans le code en fait)
- Le chemin de l'application "mère" (par exemple MSACCESS.exe pour un fichier MDB), ne rien mettre si c'est un fichier EXE à exécuter
- Le chemin de l'application à exécuter
- Le chemin de l'application de référence (dernière version)

L'application sait s'il y a une mise à jour à effectuer à l'aide d'un fichier "version.txt" qui se trouve au même endroit que l'application de référence.
Le fichier en question est un simple fichier texte qui doit contenir une ligne désignant le numéro de version (par exemple 20071016)

La validation du paramétrage crèe le fichier Launcher.ini dans le répertoire du Launcher.

Après il s'agit de créer par exemple un raccourci du Launcher sur le bureau et de l'exécuter.

Je suis ouvert à tout commentaire !

Source / Exemple :


La source se trouve dans le fichier zippé.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

UnrealH
Messages postés
3
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2009
-
Bonjour, wow, cela dépasse mes compétences (je reste maintenant dans le VB-VBA et ne connais pas C#), cela doit certainement être possible et je vous laisse sans problème utiliser mes sources pour les adapter à votre besoin !
Désolé de ne pas être d'une grande aide sur le sujet.
Henri.
khilaji_yassine
Messages postés
1
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
6 mars 2009
-
bonjour , j'aimerai savoir si je pouvais a partir de votre programme , réaliser une application qui perment :
vérifier si il ya des mises d'une application insallée su r le PDA , en cherchant ca mise à jour sur le serveur,
la transfet de application doit se faire via (http,SOAP ), le protocle a définir ,
le langage de developpement est C#,
il faut faire aussi la mise a jour du compact framwork insalle sur le PDA , et la DB SQLCE aussi ,
en plus l'application doit cherche si il ya une mise a jour pour elle aussi , ??,
si vous avez de propossion je serai super ravie de les connaitre

merci
UnrealH
Messages postés
3
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2009
-
Salut Asimengo,

Merci pour tes commentaires. En effet, les paramètres Nom Appli et Description Appli seraient bien à afficher dans le message de démarrage, en mettant Nom Appli c'est ce que je souhaitais faire, mais pas pu par manque de temps :)
Enfin je l'ajouterai dans la version 2005.

Ta version est plus complexe à mettre en oeuvre mais elle est sans doute plus sûre. Ma méthode sert surtout à des personnes qui veulent déployer facilement une application et qui ne sont pas forcément des geeks de l'informatique :)
Donc j'y suis allé au plus simple.

Bon code à toi aussi !
cs_asimengo
Messages postés
281
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
18 mars 2009
-
Je viens de jeter un coup d'oeil à ton appli, l'idée est bonne et peut s'appliquer à n'importe quel programme mais je trouve qu'il faille y apporter quelques améliorations que je suggère là.

Laucher.ini
-----------
Nom Appli: ....
Description Appli: .... (Juste pour compléter le message de demarrage)
Executable: ... (rien si fichier à exécuter exe)
Fichier a executer: ...

A mon avis il n'ya pas besoin spécifier le chemin du fichier version.txt qui sera tjrs dans le même dossier que Fichier à executer. Le fichier version.txt est crée une fois et ne changera pas. Par contre il contient les informations de la liste des fichiers à mettre à jour.

Au niveau du dossier du fichier executable, version.txt est un tableau de 3 colonnes chemin complet fichier source, Destination (facultatif, chemin relatif par rapport au dossier mère du client), version. Seul celui qui a concu le programme pourra jouer avec.

Au niveau de chaque poste le programme ira lire dans le registre pour trouver le chemin de version.txt du poste et lira également dans le registre le dossier mère où iront les mises à jour. Ce fichier contiendra également 3 colonnes Nom du fichier (uniquement le nom du fichier sans chemin), destination (dossier relatif au dossier mère client et prioritaire sur destination sur serveur), version.

Si un fichier à mettre à jour ne se trouve pas le listing du client alors la mise à jour est quand même faite et le fichier listé dans le fichier version.txt du poste.

Voila c'est en gros ce que j'avais mis en place que j'ajoute au tien. L'avantage du tien est qu'il sagit d'un programme totalement independant de l'appli que tu veux mettre à jour.

Mais en fait pour aller plus loin le fichier version.txt pourrait avoir la structure du fichier setup.lst, ce qui serait parfait, dll à enregistrer, ...

Voila, bonne prog

A+
cs_asimengo
Messages postés
281
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
18 mars 2009
-
J'avais également un même souci mais que j'ai résolu autrement. L'application d'ouverture après validation du pwd fait un contrôle de version, l'idée est la même va lire dans une table (fichier ini chez toi) la date de la dernière mise à jour du programme et contrôle l'information avec l'information stockée dans la base de registre du poste qui exécute l'application si différence alors lancement automatique des mises à jour et revoie des informations (nom machine, nom session windows, nom user, date mise a jour) sur le serveur.

Conséquence mise à jour à la demande et depuis le serveur je sais quels sont les postes à jour. Bien évidement ceci n'a d'intérêt que pour les cas de multi utilisateurs sur un réseau.

Mais en fait c'est un peu plus complexe que ça parcequ'il faut définir à l'avance la stratégie de mise à jour, avec access, en général ce n'était que les bases de données des tables temporaires, mais avec VB, c'est un peu plus complexe (dll, ocx, ...). Le but recherché étant que les postes soient automatiquement mis à jour sans devoir à intervenir sur chaque poste, uniquement sur le serveur.

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.