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# Discussion :

Path - Déploiement d'une application console


Sujet :

C#

  1. #1
    Invité
    Invité(e)
    Par défaut Path - Déploiement d'une application console
    Bonsoir à tous,

    Je dois déployer une application console, mais faire en sorte que le Path de celle-ci soit reconnu directement de c:/ sans pour autant l'installer dans ce dossier.
    Je souhaiterai juste pouvoir l'appeler directement en CLI sans spécifier son chemin d'accès . Est-ce possible ? Comment ?
    Je précise que j'ai réussi à la déployer de manière classique, mais que je dois entrer son chemin puis ses arguments.
    Le but étant de pouvoir l'utiliser comme un script.

    Merci d'avance.

    Cordialement,

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bonjour,

    Lors de la création de l'install, tu peux créer un raccourci dans c:\ qui pointera vers ton appli. Après, je ne sais pas si c'est exactement ce que tu cherches, j'avoue ne pas avoir bien compris :s

    En général, les scripts nécessitent que l'on se place dans le dossier où ils se trouvent.

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Qu'est ce que souhaites faire exactement ?
    ça me parait un peu bizarre comme besoin...

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Il suffit d'ajouter son répertoire d'installation dans la variable d'environnement PATH

    en ligne de commande ça donne qqch comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    > set PATH = %PATH%;C:\LeChemin\Vers\TonAppli\

  5. #5
    Invité
    Invité(e)
    Par défaut Précisions
    Bonjour,

    Merci à tous d'avoir répondu si vite.
    Je vous explique donc mon problème, j'ai créé une nouvelle variable d'environnement à l'aide de l'installeur via VSTO.
    J'arrive à interroger cette variable mais je n'arrive pas à lancer mon executable.

    Dans mon code, j'ai également ajouté un script me permettant d'éditer ma variable Path en lui ajoutant le chemin du dossier de mon application.

    Le soucis c'est que ma variable Path ne prend pas cet ajout, elle reste inchangée.

    Je n'arrive donc pas à lancer mon executable via la console à partir d'un emplacement autre que celui de mon dossier.
    Le but étant de rendre mon .exe dispo quel que soit le dossier dans lequel je me trouve (comme la commande ping ou tracert).

    voici un bout de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string path = Environment.GetEnvironmentVariable("Path");
     
    Environment.SetEnvironmentVariable("Path", path + @";C:\Program Files (x86)\Dossier\Test");
    .

    voici ce que j'obtiens quand je lance le cmd :

    echo %executable% :
    C:\Program Files (x86)\Dossier\Test

    %executable%
    'C:\Program' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.

    executable
    'executable' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.


    Le but de ce soft est de permettre aux clients d'interroger leur logs directement, donc de simplifier leurs manipulations. Il fonctionne, mais le fait de devoir à chaque fois entrer dans le dossier qui le contient est pénible, d'où ma question sur les variables d'environnements. Surtout qu'ils ne peuvent pas lancer le soft sans arguments, d'où la nécessité de le lancer à partir de la console.

    J'espère avoir apporté suffisamment de précisions.

    Merci encore !

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    En fait la commande SET (ou la méthode SetEnvironmentVariable) ne change la valeur que pour le processus courant (et ses processus enfants). Les autres processus ne voient pas la nouvelle valeur.

    Pour changer globalement la valeur, il faut modifier la valeur suivante dans la base de registre :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

  7. #7
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    echo %executable% :
    C:\Program Files (x86)\Dossier\Test

    %executable%
    'C:\Program' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
    Ton problème est que ton chemin possède un espace, il faut donc que tu l'enregistres entre quotes. L'interpréteur cmd s'arrête à C:\Program car après l'espace il considère que ce sont des arguments

  8. #8
    Invité
    Invité(e)
    Par défaut Probleme
    Bonjour, (encore),

    En effet, j'avais compris qu'il fallait des cotes, et qu'au niveau des registres il fallait ajouter le chemin de mon application à la variable Path, mon problème est donc le suivant : Comment ajouter une valeur à une clé de registre existante, sans l'effacer ?

    Merci à tous en tous cas de m'avoir permis de mettre en forme ce problème

    Cordialement,

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Il ne s'agit pas de remplacer entièrement la valeur PATH existante dans le registre, mais seulement d'ajouter ton chemin à la valeur actuelle...

    Tu fais un RegistryKey.GetValue pour obtenir la valeur, tu ajoutes ton chemin, et tu remets le tout dans le registre avec RegistryKey.SetValue

  10. #10
    Invité
    Invité(e)
    Par défaut Merci
    Merci les mecs, je m'y attelle tout de suite, et vous tiens au courant.

    Cordialement,

  11. #11
    Invité
    Invité(e)
    Par défaut Youpi !!!
    Merci,

    C'était exactement ça !

    Cordialement,

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/05/2005, 16h34
  2. Comment retrouver le handle d'une application console?
    Par Laurent Dardenne dans le forum Windows
    Réponses: 7
    Dernier message: 22/12/2004, 16h58
  3. Créer une application console
    Par darinze dans le forum Langage
    Réponses: 7
    Dernier message: 18/06/2004, 17h35
  4. [Kylix] une application console
    Par naili dans le forum EDI
    Réponses: 3
    Dernier message: 19/04/2004, 14h27
  5. Réponses: 2
    Dernier message: 15/04/2002, 12h56

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