AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Problem mit PATH Variable unter XE5 / XE6
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit PATH Variable unter XE5 / XE6

Ein Thema von Harry Stahl · begonnen am 24. Apr 2014 · letzter Beitrag vom 27. Apr 2014
Antwort Antwort
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 13:51
Ja, Du solltest jede einzelne Variable dann auch in doppelte Hochkomma setzen in dieser Zeile:
Code:
Set Pathes=%XE5%;%XE4%;%XE3%;%XE2%;%XE%;%D2007%;%D5%;%D2%;%TMS%;%CollabNet%;%ASys%;%Acronis%
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 14:09
Ja, das hilft, allerdings werden dann nur max. 1024 Zeichen gespeichert ? Oder nur von Echo ausgegeben?

Code:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Harry-Dev>echo %pathes%
C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin;C:\Users\Public\Documents
\RAD Studio\12.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin64;C:
\Users\Public\Documents\RAD Studio\12.0\Bpl\Win64;;C:\Program Files (x86)\Embarc
adero\RAD Studio\11.0\bin;C:\Users\Public\Documents\RAD Studio\11.0\Bpl;C:\Progr
am Files (x86)\Embarcadero\RAD Studio\11.0\bin64;C:\Users\Public\Documents\RAD S
tudio\11.0\Bpl\Win64;;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin;C:\
Users\Public\Documents\RAD Studio\10.0\Bpl;C:\Program Files (x86)\Embarcadero\RA
D Studio\10.0\bin64;C:\Users\Public\Documents\RAD Studio\10.0\Bpl\Win64;;C:\Prog
ram Files (x86)\Embarcadero\RAD Studio\9.0\bin;C:\Users\Harry-Dev\Documents\RAD
Studio\9.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin64;C:\Users\
Harry-Dev\Documents\RAD Studio\9.0\Bpl\Win64;;C:\Program Files (x86)\Embarcadero
\RAD Studio\8.0\bin;C:\Users\Public\Documents\RAD Studio\8.0\Bpl;;C:\Program Fil
es (x86)\CodeGear\RAD Studio\5.0\bin;C:\Users\Public\Documents\R

C:\Users\Harry-Dev>
Der Wert steht aber auch in der Registry drin. Das Editfenster der Registry zeigt nicht alle Zeichen an, und auch wenn man den Schlüssel exportiert, sieht man, das nicht alles da ist:

Code:
[HKEY_USERS\S-1-5-21-607686937-1886794736-2999868438-1000\Environment]
"Path"="C:\\Users\\Public\\Documents\\RAD Studio\\9.0\\Bpl;C:\\Users\\Public\\Documents\\RAD Studio\\5.0\\Bpl;C:\\Delphi2\\DELPHI20\\LIB"
"TEMP"="G:\\Work\\Temp"
"TMP"="G:\\Work\\Temp"
"MOZ_PLUGIN_PATH"="C:\\Program Files\\Tracker Software\\PDF Viewer\\Win32\\"
"D5"="C:\\Delphi5\\Projects\\Bpl;C:\\Delphi5\\Bin;"
"D2"="c:\\Delphi2\\Delphi20\\bin;c:\\Delphi2\\Delphi20\\LIB;"
"ASys"="C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;"
"XE5"="C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\12.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\12.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\12.0\\bin64;C:\\Users\\Public\\Documents\\RAD Studio\\12.0\\Bpl\\Win64;"
"XE4"="C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\11.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\11.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\11.0\\bin64;C:\\Users\\Public\\Documents\\RAD Studio\\11.0\\Bpl\\Win64;"
"XE3"="C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\10.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\10.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\10.0\\bin64;C:\\Users\\Public\\Documents\\RAD Studio\\10.0\\Bpl\\Win64;"

"Pathes"="C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\12.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\12.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\12.0\\bin64;C:\\Users\\Public\\Documents\\RAD Studio\\12.0\\Bpl\\Win64;;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\11.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\11.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\11.0\\bin64;C:\\Users\\Public\\Documents\\RAD Studio\\11.0\\Bpl\\Win64;;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\10.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\10.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\10.0\\bin64;C:\\Users\\Public\\Documents\\RAD Studio\\10.0\\Bpl\\Win64;;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\9.0\\bin;C:\\Users\\Harry-Dev\\Documents\\RAD Studio\\9.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\9.0\\bin64;C:\\Users\\Harry-Dev\\Documents\\RAD Studio\\9.0\\Bpl\\Win64;;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\8.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\8.0\\Bpl;;C:\\Program Files (x86)\\CodeGear\\RAD Studio\\5.0\\bin;C:\\Users\\Public\\Documents\\R"

"XE2"="C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\9.0\\bin;C:\\Users\\Harry-Dev\\Documents\\RAD Studio\\9.0\\Bpl;C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\9.0\\bin64;C:\\Users\\Harry-Dev\\Documents\\RAD Studio\\9.0\\Bpl\\Win64;"
"XE"="C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\8.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\8.0\\Bpl;"
"D2007"="C:\\Program Files (x86)\\CodeGear\\RAD Studio\\5.0\\bin;C:\\Users\\Public\\Documents\\RAD Studio\\5.0\\Bpl;"
"CollabNet"="C:\\Program Files (x86)\\CollabNet\\Subversion Client;"
"Acronis"="C:\\Program Files (x86)\\Common Files\\Acronis\\SnapAPI\";"
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 14:25
setx kann nur 1024 byte verarbeiten. Versuche es doch mal alternativ mit Pathed. Das kann zwar nur PATH aber es gibt keine Längenbegrenzung.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 14:36
Wenn du einer Variablen einen Wert zuweisen willst und dieser Wert ein/mehrere Leerzeichen enthält, dann musst du den Wert in Anführungszeichen setzen
Code:
SET(X) <Varname>="<Value with Spaces>"
Wenn ich dann aber das hier sehe
Code:
Setx XE5 "C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin";"C:\Users\Public\Documents\RAD Studio\12.0\Bpl";"C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin64";"C:\Users\Public\Documents\RAD Studio\12.0\Bpl\Win64";
dann habe ich die Vermutung, dass du das nicht verstanden hast

Denn so wäre es richtig
Code:
Setx XE5 "C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin;C:\Users\Public\Documents\RAD Studio\12.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin64;C:\Users\Public\Documents\RAD Studio\12.0\Bpl\Win64;"
Wenn du weiterhin diese dann so zusammenfassen möchtest
Code:
SET(X) <Varname>="%XE5%;%XE4%
Dann macht das Semikolon am Ende bei der Wertzuweisung von XE5 irgendwie keinen Sinn. Macht nichts kaputt, sieht aber doof aus und ist eben überflüssig
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#5

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 14:45
Da gibt es zudem noch einen Environment-Editor. Dabei prüft der auch, ob bestimmte Pfade auch überhaupt existieren, das ist schon mal nicht schlecht, habe direkt ein paar nicht mehr existierende Pfade eleminieren können. Deswegen ging wohl auch das Setzen der TMS-Variable nicht, weil dort ein nicht mehr existenter Path drin war.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#6

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 15:12
Pathed kommt aber auch nicht mit Leerzeichen im Path zurecht, die er z.B. über %XE5% erhält (auch wenn in doppelten Anführungszeichen). Man kann wohl auch immer nur einen Pfad anhängen.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#7

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 16:40
Also, ich habe das jetzt so für mich gelöst, dass ich die Einträge nun manuell in die Registry reinnehme, wie in der Anlage ersichtlich.

Wenn ich in einer DOS-Shell die Werte dann abfrage, sieht das so aus (alle Einträge sind vorhanden):

Code:

C:\Users\Harry-Dev>echo %pathes%
%XE5%;%XE4%;%XE3%;%XE2%;%XE%;%D2007%;%D5%;%D2%;%TMS%;%CollabNet%;%ASys%;%Acronis
%

C:\Users\Harry-Dev>echo %path%
C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin;C:\Users\Public\Documents
\RAD Studio\12.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin64;C:
\Users\Public\Documents\RAD Studio\12.0\Bpl\Win64;C:\Program Files (x86)\Embarca
dero\RAD Studio\11.0\bin;C:\Users\Public\Documents\RAD Studio\11.0\Bpl;C:\Progra
m Files (x86)\Embarcadero\RAD Studio\11.0\bin64;C:\Users\Public\Documents\RAD St
udio\11.0\Bpl\Win64;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin;C:\Us
ers\Public\Documents\RAD Studio\10.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD
Studio\10.0\bin64;C:\Users\Public\Documents\RAD Studio\10.0\Bpl\Win64;C:\Delphi5
\Projects\Bpl;C:\Delphi5\Bin;C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\b
in;C:\Users\Harry-Dev\Documents\RAD Studio\9.0\Bpl;C:\Program Files (x86)\Embarc
adero\RAD Studio\9.0\bin64;C:\Users\Harry-Dev\Documents\RAD Studio\9.0\Bpl\Win64
;C:\Program Files (x86)\CollabNet\Subversion Client;C:\Program Files (x86)\Embar
cadero\RAD Studio\8.0\bin;C:\Users\Public\Documents\RAD Studio\8.0\Bpl;C:\Progra
m Files (x86)\CodeGear\RAD Studio\5.0\bin;C:\Users\Public\Documents\RAD Studio\5
.0\Bpl;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System
32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;
C:\Users\Harry-Dev\Documents\tmssoftware\TMS Component Pack\bpl\;C:\Users\Harry-
Dev\Documents\tmssoftware\TMS Advanced Charts\bpl\;C:\Users\Harry-Dev\Documents\
tmssoftware\TMS Advanced Spreadgrid\bpl\;c:\Delphi2\Delphi20\LIB;C:\Users\Harry-
Dev\Documents\tmssoftware\TMS Cloud Pack\bpl\;C:\Users\Harry-Dev\Documents\tmsso
ftware\TMS Scripter\bpl\;C:\Users\Harry-Dev\Documents\tmssoftware\TMS Diagram St
udio\bpl\;D:\Compo\DXE3\FMX\TMS Pack for FireMonkey\bpl\;D:\Compo\DXE5\FMX\TMS P
ack for FireMonkey\bpl\;%Pathes%

C:\Users\Harry-Dev>
Was auffällt ist, dass am Ende der Path-Abfrage nochmal "%Pathes%" steht, also eigentlich irgendwie doppelt oder?

Was mir auch noch nicht ganz klar ist: Sollte ich diese Einträge hier für den aktuellen User machen, oder besser in der Path-Variable in

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Environment

Welche Bedeutungen haben eigentlich in Delphi der Environment-Dialog. Da haben wir ja einmal die Anzeige für die System-Variablen, wo offensichtlich die des aktuellen Users angezeigt werden.

Dann gibt es noch die Liste "Vom Anwender überschrieben". Dort steht aber in jedem Delphi (also z.B. 2007, XE, XE5) jeweils etwas anderes drin. Mir ist insofern nicht klar, was passiert, wenn ich in dem Delphi Dialog eine Aktion "überschreiben" vornehme.
Angehängte Grafiken
Dateityp: jpg path2.jpg (133,0 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Problem mit PATH Variable unter XE5 / XE6

  Alt 26. Apr 2014, 16:53
Hmmm, wenn du dir den Eintrag in
Code:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path
und
Code:
HKCU\Environment\Path
anschaust, dann sollte dir doch eigentlich auffallen, dass diese beiden Einträge kombiniert werden und als resultierendes Ergebnis für die Umgebungsvariable %PATH% genommen wird.

Wie du das jetzt verwendest ist ja egal, ich persönlich würde das global eintragen, da auch die Programme diese Pfade global eingetragen haben.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz