Partage
  • Partager sur Facebook
  • Partager sur Twitter

principe d'une mise à jour

    3 juillet 2007 à 14:13:00

    Bonjour,
    j'aimerais savoir comment fonctionne une mise à jour, j'ai quelques idées mais j'aimerais en savoir plus. Je pense qu'elle supprime certains fichiers et les remplace par ceux qui ont été mis à jour, non?
    comment se fait il qu'il n'y ait qu'un fichier, un exe? et pourtant, il contient les fichiers mis à jour. Comment faire pour tous les mettre dans l'exe?
    • Partager sur Facebook
    • Partager sur Twitter
      3 juillet 2007 à 14:18:59

      Citation : gogohan

      Je pense qu'elle supprime certains fichiers et les remplace par ceux qui ont été mis à jour, non?


      oui, tu veux faire comment sinon :-°

      Citation : gogohan

      comment se fait il qu'il n'y ait qu'un fichier, un exe? et pourtant, il contient les fichiers mis à jour. Comment faire pour tous les mettre dans l'exe?


      pas compris, mais y'a pas que l'exe qui peut être mis à jour, tous les fichiers le peuvent (DLL, et autres)
      • Partager sur Facebook
      • Partager sur Twitter
        3 juillet 2007 à 14:27:37

        Bonjour.
        Moi non plus je n'ai pas très bien compris...

        A moins que tu parle d'un patch, qui tient en un .exe et qui met à jour un programme et toute ses ressources ?

        Dans dans ce cas le patch (.exe) contient tout ce qui devrat être remplacer.
        Tout est compresser dans le .exe puis décompresser au moment de la mise à jour pour remplacer le anciens fichiers.
        Après pour mettre tout les fichiers dans le .exe c'est un peu différent, en fait c'est le même principe que l'installation d'un programme avec Inno setup par exemple, sauf que tu n'installe pas tout.
        Donc à mon avis on doit pouvoir faire un .exe de mise à jour avec Inno setup.

        Après pour mettre toi même les fichier dans un .exe sans passer par Inno setup là je sais pas comment faire.
        Il y a peu être des librairies pour sa.
        Ou alors avec les fichiers ressources vu dans le cours de M@théo, il me semble qu'on peut inclure des fichiers dans le .exe mais après je sais pas comment les extraire...
        • Partager sur Facebook
        • Partager sur Twitter
          3 juillet 2007 à 14:33:36

          Un executable ne peut pas se mettre à jour tout seul, ou du moins, pas n'importe comment: il devrait s'effacer en cours d'execution, et se remplacer par un autre executable... Sous certains systèmes d'exploitation, il me semble que c'est autorisé, étant donné que le binaire est chargé en mémoire en vue de l'execution, et donc n'a plus aucun lien avec le binaire enregistré sur le disque. Maintenant, c'est de la théorie, sous Windows, je suis à peu près sur que c'est impossible, et sous linux j'ai quand même quelques doutes.. Les autres Os, j'ai jamais essayé non plus.

          La solution est de scinder ton programme en plusieurs modules (dll, so, etc...) que tu peux tout à fait modifier, supprimer, remplacer tant que tu ne les as pas chargé en mémoire. Reste après a gérer le telechargement des librairie dynamiques, et vérifier les versions, etc..

          L'autre solution, et d'executer un "lanceur" (a créer en plus du programme principal, donc), qui va se charger de vérifier si la version de l'executable est à jour, télécharger les nouvelles version, etc, et enfin, executer ton programme automatiquement une fois que c'est fini. C'est ce qui se passe pour Steam.exe (le truc de Valve, là.), il me semble. (déduction empirique).

          En résumé, c'est pas tout simple à faire, il faut le prévoir dès le départ, et surtout, il faut se demander si ça a un sens, surtout sur les systèmes qui sont gérés par des gestionnaires de packets, et donc qui se chargent eux-même des mises à jour (je pense à linux, entre autres, évidement!). Sous windows, c'est déjà plus utile, mais ça peut poser des problèmes de sécurité, évidement (je vous laisse imaginer les débordement que ça pourrait occasionner!)
          • Partager sur Facebook
          • Partager sur Twitter

          principe d'une mise à jour

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown