Le programme d'installation modifie la variable PATH, les modifications n'apparaissent pas dans Command Shell

StackOverflow https://stackoverflow.com/questions/40311

Question

J'ai ajouté une action d'installation personnalisée à mon programme d'installation pour ajouter l'un de mes répertoires d'installation à la variable d'environnement System PATH.Après avoir exécuté le programme d'installation, la variable PATH reflète les modifications (lorsque j'y accède via l'applet Panneau de configuration :: Système), mais lorsque je démarre un nouveau shell de commande, la variable PATH ne reflète pas les modifications.Y a-t-il quelque chose que je n'arrive pas à faire qui provoque cela ?

Était-ce utile?

La solution

Je pense que cela dépend de la façon dont vous démarrez le nouveau shell de commande.Par exemple, lorsque vous modifiez la variable d'environnement PATH sous Propriétés système, la modification n'est reflétée que lorsque vous ouvrez une nouvelle invite de commande.Je pense que lorsque vous lancez un nouveau processus "cmd" (à partir de la boîte de dialogue Exécuter par exemple), vous obtenez une nouvelle copie de toutes les variables d'environnement, mais si vous lancez l'invite de commande d'une manière différente, vous ne le faites pas.

Pour quelque chose effectué via un script comme celui-ci, vous devrez peut-être redémarrer avant de remarquer le changement.

Autres conseils

Comment démarrez-vous le shell de commande ?Avec le TaskManager ?

Je soupçonne que vous le démarrez peut-être à partir de l'Explorateur - si je me souviens bien, cela pourrait signifier que vous héritez de la variable PATH des processus parents (Explorateur Windows dans ce cas).Comme cela a été défini avant l'exécution de votre programme d'installation, vous voyez l'ancienne valeur.

Je ne sais pas si cela aide...

http://support.microsoft.com/kb/310519 dit que pour les variables d'environnement système (dont PATH fait partie) nécessite un redémarrage, même si j'ai le sentiment que la déconnexion et la reconnexion peuvent suffire.

Pourquoi utilisez-vous une CustomAction pour cela ?Windows Installer prend en charge la modification native des variables d'environnement.De plus, je pense que Windows Installer envoie un message de diffusion pour mettre à jour le système lorsque les variables d'environnement changent.Cela peut signifier que vous n'avez pas besoin de redémarrer...mais ça fait un moment que je n'ai pas essayé donc YMMV.

Comment ajoutez-vous la variable d'environnement ?

Sans utiliser d'outils externes, vous pouvez ajoutez-le au registre.Ensuite, votre test d'ouverture d'une nouvelle fenêtre de commande reflétera votre modification.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top