Partage
  • Partager sur Facebook
  • Partager sur Twitter

CMake CPack : declarer le PATH du pgm dans Windows

Sujet résolu
    1 juillet 2019 à 17:12:13

    Bonjour,

    Je cherche à déclarer mon application dans le PATH du Windows en utilisant l'installeur créé par CPack. (Multiple tentative infructueuse pour le moment)

    J'ai commencé à utiliser le couple CMake/CPack/NSIS pour construire un installeur Windows.

    L'installeur fonctionne et déploie correctement le dossier d'installation dans "C:\Program Files (x86)\MonBeauPgm"

    L'éxecutable se trouve ici "C:\Program Files (x86)\MonBeauPgm\bin\MonBeauPgm.exe".

    Le programme doit pouvoir être exécuter depuis la ligne de commande.

    Si je tape dans un terminal ‪."\Program Files (x86)\MonBeauPgm\bin\MonBeauPgme.exe" mon programme s’exécute bien

    Mais si je tappe MonBeauPgm.exe seul rien ne passe. Le pgm n'est pas dans le PATH.

    Si je l'ajoute cela fonctionne bien : setx path "%path%;C:\Program Files (x86)\MonBeauPgm\bin\".

    Je cherche donc juste à faire cette étape en automatique depuis l'installeur Cpack plutôt qu'a la main après chaque installation.

    Si vous avez une piste je suis preneur.

    Cordialement,

    Kao

    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2019 à 10:35:27

      Salut,

      Si on veut modifier la variable PATH, il y a deux possibilités "temporaires", et une définitve:

      1- lancer la ligne de commande et taper

      set PATH=%PATH%;<chemin/vers/dossier/à/rajouter>

      créer un fichier batch qui contient le code

      echo off
      set PATH=%PATH;<chemin/vers/dossier/à/rajouter

      3-

      • Aller dans les paramètres ->système->Informations système
      • sur la droite de la fenêtre cliquer sur Informations système, qui se trouve en dessous d'une ligne "Paramètres associés"
      • Dans la fenêtre qui s'ouvre, cliquer sur "modifier les paramètres"
      • choisir l'onglet "paramètres système avancés"
      • cliquer sur le bouton "Variables d'environnement".

      Tu y trouvera deux listes de variables: une qui ne sert que pour l'utilisateur courant (nommée "variables utilisateur pour XXX) et l'autre qui sert pour tout le monde (nommée Variables systèmes).

      A priori, tu devrais trouver une variable nommé Path  dans chacune de ces listes.  Selon ce que tu souhaites faire, il faudra modifier la variable de l'une ou de l'autre liste: celle de la première (n'hésite pas à rajouter la variable Path si elle en est absente) si tu veux que ton programme ne soit accessible directement que pour toi, celle de la deuxième si tu souhaites que ton programme soit directement accessible pour tout le monde.

      (dans les trois cas, fais bien attention au fait que la séparation se fait à l'aide d'un point-virgule ; )

      Cependant, tu devrais pouvoir modifier le script de NSIS pour qu'il mette automatiquement la variable PATH à jour, car la troisième manipulation (dont tu aura compris que c'est la solution définitive) ne devrait pouvoir s'exécuter qu'en tant qu'administrateur, étant donné le haut degré de danger qu'elle représente ;)

      • Partager sur Facebook
      • Partager sur Twitter
      Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
        2 juillet 2019 à 12:31:29

        Toutes les versions "définitives" se résument à des modifications dans la base de registre.

        NSIS semble déjà avoir une infrastructure pour faire ces modifications :

        https://stackoverflow.com/questions/31340823/update-path-environment-variable-using-nsis

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          2 juillet 2019 à 20:59:48

          Merci pour vos réponses, ça m'a mis sur la bonne piste :

          https://cmake.org/cmake/help/v3.0/module/CPackNSIS.html#variable:CPACK_NSIS_MODIFY_PATH

          Il suffit d'ajouter l'option :

          set (CPACK_NSIS_MODIFY_PATH ON)

           Pour activer ce panneau lors de l'installation :

          nsis installeur

          C'est plutôt pas mal, même si c'est un peu technique pour les utilisateurs non avertie.

          Comme c'est pour un logiciel en ligne de commande, ça devrait faire l'affaire.

          Cordialement,

          Kao



          -
          Edité par kao_chen 2 juillet 2019 à 21:00:07

          • Partager sur Facebook
          • Partager sur Twitter

          CMake CPack : declarer le PATH du pgm dans Windows

          × 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