Hallo!
Ich hab in verschiedenen Verzeichnissen ein von mir geschriebenes Programm liegen (unterschiedliche Versionen zum testen).
Neben der Kommandozeile wird der aktuelle Pfad angezeigt -> c:\xyz>.
Dort gebe ich nun den Namen meiner EXE ein XYZ.EXE.
Aufgerufen wird allerdings nicht die im Pfad c:\xyz sondern die im Pfad c:\programme\xyz.
Das liegt daran das ich mein Programm per Setup automatisch in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths eingetragen habe.
Gibt es eine Möglichkeit die Priorität dahingehend zu ändern, daß wenn im aktuellen Pfad eine exe mit demselben Namen gefunden wird, diese vorrangig zu verwenden; ähnlich wie zu DOS Zeiten aktueller Pfad vor Path-Variable ?
Kommandozeilenaufrufe
Moderators: Hacker, Stefan2, white
- ghisler(Author)
- Site Admin
- Posts: 50754
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Total Commander benutzt die Funktion ShellExecuteEx, die zeigt offenbar dieses Verhalten.
Lösung: Entfernen Sie das Programm aus "App paths", und tragen Sie dafür das Verzeichnis in die PATH-Variable ein. Dann hat das Programm im aktuellen Verzeichnis Vorrang, und das andere wird in anderen Verzeichnissen trotzdem noch gefunden.
Lösung: Entfernen Sie das Programm aus "App paths", und tragen Sie dafür das Verzeichnis in die PATH-Variable ein. Dann hat das Programm im aktuellen Verzeichnis Vorrang, und das andere wird in anderen Verzeichnissen trotzdem noch gefunden.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Hallo, fxfx13.
Lösungvorschlag:
Karl
--
Da war der Chef um 3 Minuten schneller.
Wenigstens haben wir die selbe Idee gehabt.
Da kann sie ja nur richtig sein.
Lösungvorschlag:
- Dein Programm wieder aus HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths austragen
- Stattdessen den Ordner, in dem das Programm liegt, in den systmweiten PATH aufnehmen HKLM\System\CurrentControlSet\Control\Session Manager\Environment\Path. (Geht auch über Eigenschaften von Arbeitsplatz)
- Dann sucht Windows beim Programmaufruf ohne vorangestellten Pfad zuerst im aktuellen Ordner und danach der PATH Variable folgend.
Karl
--
Da war der Chef um 3 Minuten schneller.

