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

C++Builder Discussion :

Patch de fichier *.exe qui sont en cours d'ex�cution


Sujet :

C++Builder

  1. #1
    Membre averti
    D�veloppeur informatique
    Inscrit en
    Janvier 2004
    Messages
    21
    D�tails du profil
    Informations personnelles :
    �ge : 50

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 21
    Par d�faut Patch de fichier *.exe qui sont en cours d'ex�cution
    Bonsoir,

    J'ai cr�� une application qui re�oit des mise � jour via le r�seau.

    L'application re�oit bien la mise � jour.
    Par contre, l'application n'arrive pas � modifier le fichier ex�cutable de l'application car, bien sur, celle-ci est en cours d'ex�cution.

    Par cons�quent, je voudrai savoir comment mon application peut-elle modifier son propre fichier ex�cutable pendant son ex�cution ?

    Vous aurez peut-�tre d'autres proposition � me faire.

    Merci d'avance,

    J�r�me

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    une des solutions consiste � transf�rer les majeures parties des fonctionnalit�s de ton application Fiches y compris dans une ou plusieurs DLL
    ton applicatif a pour fonctions uniquement d'appeller des fomctions, fiches contenus dans des DLL
    la Mise � jour est simplifi�e puisqu'il suffit alors de lib�rer la Dll dont une partie doit �tre modifi�e, puis apr�s la modification de recharger cette DLL

    Cordialement
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  3. #3
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Une auter solution que j'emploi et de copier la nouvelle version � un endroit different. Puis de l'executer, charge � elle de detruire l'application obsol�te et de se recopier � son emplacement.

  4. #4
    Membre averti
    D�veloppeur informatique
    Inscrit en
    Janvier 2004
    Messages
    21
    D�tails du profil
    Informations personnelles :
    �ge : 50

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 21
    Par d�faut
    Bonsoir,

    Pour finir, j'ai trouv� une solution ce matin.

    Elle s'approche de la solution de uriotceo.

    J'ai cr�� une application (MAJ.exe)

    La voici :
    1 - Mon application 'Client.exe' t�l�charge la nouvelle version et l'�crit dans un fichier 'patch.bin',
    2 - une fois t�l�charg�es, mon application 'Client.exe' lance via la fonction CreateProcess une application console (MAJ.exe) qui fait la mise � jour.
    3 - Une fois MAJ.exe lanc�, mon application 'Client.exe' se termine.
    4 - MAJ.exe attend a fin d'ex�cution de 'Client.exe' pendant 3 secondes.
    5 - MAJ.exe copie 'patch.bin' en 'Client.exe'
    6 - MAJ.exe supprimer le fichier 'patch.bin"
    7 - MAJ.exe lance de nouveau mon application 'Client.exe' via la fonction CreateProcess.
    8 - MAJ.exe se termine.

    J'esp�re avoir �t� clair dans mon explication et que cela pourra aider d'autre personnes

    Merci pour vos r�ponses (Je n'avais pas pens�e � la solution des DLL !)

    Cordialement,

    J�r�me

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    149
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 149
    Par d�faut
    Bonjour,
    Etant novice dans ce sujet la je vais avoir du mal � donn� une solution
    Toutefois je me suis pos� la question aussi pour un autre soft que j'avais cr�er et qui devais de mettre � jour seul.
    Ce sujet m'interresse et j'aimerais bien connaitre la solution pll (pour information).

    Cordialement.

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 61
    Par d�faut
    Le principe de la mise � jour par DLL consiste � n'utiliser qu'un simple ex�cutable le plus petit possible. Cet ex�cutable ne contiendra en fait que 2 choses :

    1) Fonctions de chargement et d�chargement de DLL (ou DLLs selon les cas)
    2) Fonctions permettant de v�rifier les mises � jour (par Internet par exemple) et de t�l�charger cette mise � jour.


    Lorsque l'application est ex�cut�, elle chargera ses donn�es (fen�tres et data et autes) contenu dans sa DLL. Puis l'application peut v�rifier p�riodiquement les mises � jour, si une nouvelle version est disponible, elle t�l�charge le nouveau fichier (cette mise � jour sera sous la forme d'une DLL �galement). Ensuite il suffit de d�charger la DLL r�sidente, de supprimer du disque dur cette DLL, de renommer le fichier t�l�charger, et ensuite de le recharger. Voil� une application mise � jour. :p

    Je pense m�me que les fonctions de mise �jour et t�l�chargement peuvent �tre contenues dans la DLL. Ainsi il suffit de coder dans l'ex�cutable que le syst�me de chargement/d�chargement de DLL, et biensur l'appel � la fonction principale.

    Voil� j'esp�re que c'est assez clair.

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    149
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 149
    Par d�faut
    Ok
    Ca l'air super interressant comme methode.
    Merci beaucoup

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Fichier .exe qui s'ouvre avec Shell, mais ne s'ex�cute pas
    Par choux22 dans le forum Macros et VBA Excel
    R�ponses: 14
    Dernier message: 21/12/2010, 15h27
  2. Supprimer des fichier qui sont vieux d'une semaine
    Par islyoung2 dans le forum Shell et commandes GNU
    R�ponses: 12
    Dernier message: 20/09/2009, 19h32
  3. [MySQL] Ecouter les fichier mid qui sont dans la base mysql
    Par rane dans le forum PHP & Base de donn�es
    R�ponses: 1
    Dernier message: 06/02/2008, 17h12
  4. Ecrire dans un fichier .exe en cours d'�x�cution.
    Par ValyGator dans le forum Windows
    R�ponses: 14
    Dernier message: 07/12/2006, 15h20
  5. [vb6]:Recuperer les caracteres qui sont dans un fichier text
    Par flav66 dans le forum VB 6 et ant�rieur
    R�ponses: 7
    Dernier message: 23/10/2006, 08h44

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