IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

Mettre à jour un exe


Sujet :

API, COM et SDKs Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 37
    Points : 38
    Points
    38
    Par défaut Mettre à jour un exe
    Bonjour,
    J'ai réaliser un logiciel et j'aimerais savoir si il y avait possiblité de mettre à jour ce logiciel à partir d'internet . En gros le logiciel préviendra l'utilsateur q'une nouvelle version existe, une fois celui-ci prévenu la mise à jour devra se faire avec le logiciel lancé. ex(avast lors des mises à jours) sauf qu'ici cé un exe qui devra être mis à jour.

    Merci d'avance

  2. #2
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    tu pourrais simplement remplacer l'ancien exe par le nouveau qui aura préalablement été téléchargé !
    [Il était une fois Delphi ....]


  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    le problème c'est que le logiciel est lancé lors de la mise à jour.

  4. #4
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    ok !
    donc, le soft se lance et vérifie si mise à jour il y a.
    si oui
    1)télecharger le nouvel exe
    2)arrêter l'exécution du programme
    3)procéder au remplacement de l'exe
    4)message disant que la MAJ est faite
    5)lancement (ou pas) du nouvel exe
    [Il était une fois Delphi ....]


  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Points : 307
    Points
    307
    Par défaut Mise à jour logiciel
    J'ai une application sous Visual basic 2008 Express .

    Dans l'assistant de publication ans la fonction Publier, un champ " l'application va vérifier la disponibilité de mise à jour à partir de l'emplacement suivant :" permet de prendre en compte cette problèmatique.

    ( je n'ai pas testé le comportement ).

  6. #6
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    une solution courante est de faire un exe qui gère juste le lancement et de mettre le gros du code dans une DLL.
    Lors du lancement l'exe vérifie avant de charger la DLL si une nouvelle version est disponible et dans ce cas va la télécharger avant de cherger la DLL...

  7. #7
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    une solution courante est de faire un exe qui gère juste le lancement et de mettre le gros du code dans une DLL.
    Lors du lancement l'exe vérifie avant de charger la DLL si une nouvelle version est disponible et dans ce cas va la télécharger avant de cherger la DLL...
    Salut philnext,

    cette idée me semble intéressante mais cela implique une gestion assez complexe dans le cas ou l'application change de "look" !?

    ou alors c'est moi qui ne comprend rien !
    [Il était une fois Delphi ....]


  8. #8
    Fxg
    Fxg est actuellement connecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Bonjour,

    Tu trouveras de l'aide pour avancer Ici

  9. #9
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    je sais pas si c'est juste mais je vais te donnée 2 idée
    1- 2 programme, principal et celui qui cherche les mise à jour
    2- ton programme cherche les mise à jour , si il trouve les télécharge, puis crée un au volet un fichier batch, l'execute,, fichier bath-->exécution attend ton appli s'arrête , la suprim, renome la nouvelle version, l'exécute, s'auto détruit


    une idée
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  10. #10
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    c'est toujours le même principe...ensuite il y a quelques variantes

    le principe c'est qu'un programme de mise à jour va devoir être lancé, attendre la fin de l'execution du programme ancienne version, le remplacer et relancer la nouvelle version.

    méthode 1 : le launcher
    un premier programme est utilisé pour lancer l'application, c'est lui que se charge de vérifier la mise à jour, il peut la remplacer sans problème car elle n'est pas encore lancée...problème : qui met à jour le launcher ?

    méthode 2 : le setup
    le programme télécharge un nouveau setup et le lance, celui ci attend que la programme se termine et le met à jour.

    méthode 3 : l'auto-update
    sur le même principe que le setup, sauf qu'on utilise un seul programme qui est téléchargé dans un emplacement temporaire et possède un paramètre "/setup" ou "/upgrade" pour indiquer qu'il est en mode mise à jour
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #11
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Je continue de penser que la méthode la plus 'élégante' est le couple exe + dll
    Dans l'exe il n'y a que la partie récupération (éventuelle) puis lancement de la DLL.
    L'exe doit être très simple pour ne pas avoir besoin d'être mis à jour, et tout le programme (y compris le visuel) est dans la dll.

  12. #12
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par philnext Voir le message
    Je continue de penser que la méthode la plus 'élégante' est le couple exe + dll
    Dans l'exe il n'y a que la partie récupération (éventuelle) puis lancement de la DLL.
    L'exe doit être très simple pour ne pas avoir besoin d'être mis à jour, et tout le programme (y compris le visuel) est dans la dll.
    si par malheur cette dll était utilisé pas d'autre programme,.... ???
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  13. #13
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    si par malheur cette dll était utilisé pas d'autre programme,.... ???
    Damned ! C'est quand même toi qui gères tes programmes y compris tes dll !
    Je vois assez mal un autre programme utiliser une de tes dll.
    Déjà que pour interfacer une dll documentée et publique ce n'est pas toujours facile...

  14. #14
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par philnext Voir le message
    Damned ! C'est quand même toi qui gères tes programmes y compris tes dll !
    Je vois assez mal un autre programme utiliser une de tes dll.
    Déjà que pour interfacer une dll documentée et publique ce n'est pas toujours facile...
    quelque fois on a plus d'une application qui tourne chez un client...!!!, alors qui sait?
    mais bien sûr avec les dlls en a pas besoin de tout telechrger, en peut avoir des dizine, et on veux maitre à jour qu'une seul
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  15. #15
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    J'ai résolu mon problème, j'ai développé un service qui se lance automatiquement au démarrage. Si il y a une mise à jour à réaliser la commande net stop arrête le service j'effectue la mise à jour et je relance le service.

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Astuces pour mettre à jour un exe ?
    Par TreizeSegments dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/07/2005, 20h02
  2. Réponses: 3
    Dernier message: 09/07/2004, 10h23
  3. Mettre à jour une table depuis une autre
    Par rsc dans le forum SQL
    Réponses: 4
    Dernier message: 09/07/2004, 10h08
  4. [Delphi 5] Mise à jour : d5adoupdate.exe
    Par Pascal Jankowski dans le forum EDI
    Réponses: 2
    Dernier message: 03/05/2004, 13h47
  5. Réponses: 6
    Dernier message: 14/02/2003, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo