Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Problem mit PATH Variable unter XE5 / XE6 (https://www.delphipraxis.net/180131-problem-mit-path-variable-unter-xe5-xe6.html)

arnof 25. Apr 2014 10:35

AW: Problem mit PATH Variable unter XE5 / XE6
 
bei mir macht das XE2/3 auch regelmäßig, ich habe hier immer wieder richtige Angst was zu installieren ....

Meistens löst sich das Problem mit einem Reboot ohne was zu editieren (da macht man schnell was kaputt)!

Harry Stahl 25. Apr 2014 17:52

AW: Problem mit PATH Variable unter XE5 / XE6
 
Zitat:

Zitat von jaenicke (Beitrag 1256876)
Ich habe alle Einträge in PATH, die ich brauche, in einer eigenen Variable drin. In Path steht nur %Paths%. So sehe ich sofort, wenn ein Programm daran etwas ändert. Und ich weiß auch genau was da vorher stand, wenn ein Programm es kaputt macht.
Mit der Länge hatte ich noch keine Probleme, dafür ist das in der Tat eine gute Idee.

Wie macht man das praktisch gesehen am besten?

In einer Batch-Datei mit den Befehlen Set VarName=Value die Environment Variablen jeweils festlegen und schrittweise verdichten und dann die Batch-Datei im Admin-Modus ausführen lassen?

Funktioniert das so?

Harry Stahl 26. Apr 2014 11:32

AW: Problem mit PATH Variable unter XE5 / XE6
 
Hmh, mit einer BAT-Datei (selbst gestartet im Adminmodus) sind die Environment-Variablen anscheinend nur während der Shell-Sitzung gültig und gehen verloren, wenn ich die CMD-Shell schließe.

Muss ich also alles doch manuell in die Registry eintragen, oder gibt es noch einen anderen Weg (mal abgesehen davon, ein extra Programm dafür zu schreiben)?

Hier ist die Batch-Datei, die ich mir ausgedacht hatte:
Code:
REM Delphi *****************************************************************************

Set 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;

Set 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;

Set 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;

Set 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;

Set XE=C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\bin;C:\Users\Public\Documents\RAD Studio\8.0\Bpl;

Set D2007=C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin;C:\Users\Public\Documents\RAD Studio\5.0\Bpl;

Set D5=C:\Delphi5\Projects\Bpl;C:\Delphi5\Bin;

Set D2=c:\Delphi2\Delphi20\bin;c:\Delphi2\Delphi20\LIB;

REM TMS ***********************************************************************************

Set TMS=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:\Users\Harry-Dev\Documents\tmssoftware\TMS Cloud Pack\bpl\;C:\Users\Harry-Dev\Documents\tmssoftware\TMS Scripter\bpl\;C:\Users\Harry-Dev\Documents\tmssoftware\TMS Diagram Studio\bpl\;C:\Users\Harry-Dev\Documents\tmssoftware\TMS Pack for FireMonkey\bpl\;D:\Compo\DXE3\FMX\TMS Pack for FireMonkey\bpl\;D:\Compo\DXE5\FMX\TMS Pack for FireMonkey\bpl\;

REM Progs **********************************************************************************
Set CollabNet=C:\Program Files (x86)\CollabNet\Subversion Client;

Set ASys=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;

Set Acronis=C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;

REM Pathes konstruieren *********************************************************************
Set Pathes=%XE5%;%XE4%;%XE3%;%XE2%;%XE%;%D2007%;%D5%;%D2%;%TMS%;%CollabNet%;%ASys%;%Acronis%

REM ******* und Path setzen ******************************************************************
Path %Pathes%

RWarnecke 26. Apr 2014 12:24

AW: Problem mit PATH Variable unter XE5 / XE6
 
Benutze den Befehl Setx. Damit kannst Du Systemvariablen und Benutzervariablen setzen, so als wenn Du es über die Systemeigenschaften oder in der Registry reinschreibst.

Harry Stahl 26. Apr 2014 13:14

AW: Problem mit PATH Variable unter XE5 / XE6
 
Danke für den Tipp.

Allerdings gelingt die Umsetzung dann nur teilweise. Habe zwar schon das Gleichheitszeichen durch ein Leerzeichen ersetzt, aber dennoch kommen dann folgende Hinweise:

Code:
C:\Users\Harry-Dev>Setx D2007 C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin
;C:\Users\Public\Documents\RAD Studio\5.0\Bpl;
FEHLER: Ungültige Syntax. Die Standardoption darf nicht mehr als 2 Mal verwendet
 werden.
Geben Sie "SETX /?" ein, um die Syntax anzuzeigen.

C:\Users\Harry-Dev>Setx D5 C:\Delphi5\Projects\Bpl;C:\Delphi5\Bin;

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx D2 c:\Delphi2\Delphi20\bin;c:\Delphi2\Delphi20\LIB;

ERFOLGREICH: Angegebener Wert wurde gespeichert.
Manchmal geht es, manchmal nicht. Was mache ich falsch?

Union 26. Apr 2014 13:24

AW: Problem mit PATH Variable unter XE5 / XE6
 
Schließe die Pfade mit " ein, besonders wenn diese Leerzeichen enthalten. Sonst werden die zerhackt bzw. als weitere Parameter angesehen.

Harry Stahl 26. Apr 2014 13:49

AW: Problem mit PATH Variable unter XE5 / XE6
 
Ja, das hilft (außer in einem Fall, vielleicht ist die Zeile zu lang?).

Außerdem irritiert mich, das der Inhalt von %Pathes% anscheinend nicht alle Einträge enthält, wenn man den Wert ECHO abfrägt. Hier die Meldungen:

Code:
C:\Users\Harry-Dev>REM Delphi **************************************************
***************************

C:\Users\Harry-Dev>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)\Emb
arcadero\RAD Studio\12.0\bin64";"C:\Users\Public\Documents\RAD Studio\12.0\Bpl\W
in64";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx XE4 "C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\
bin";"C:\Users\Public\Documents\RAD Studio\11.0\Bpl";"C:\Program Files (x86)\Emb
arcadero\RAD Studio\11.0\bin64";"C:\Users\Public\Documents\RAD Studio\11.0\Bpl\W
in64";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx XE3 "C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\
bin";"C:\Users\Public\Documents\RAD Studio\10.0\Bpl";"C:\Program Files (x86)\Emb
arcadero\RAD Studio\10.0\bin64";"C:\Users\Public\Documents\RAD Studio\10.0\Bpl\W
in64";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx XE2 "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)\Em
barcadero\RAD Studio\9.0\bin64";"C:\Users\Harry-Dev\Documents\RAD Studio\9.0\Bpl
\Win64";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx XE "C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\bi
n";"C:\Users\Public\Documents\RAD Studio\8.0\Bpl";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx D2007 "C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bi
n";"C:\Users\Public\Documents\RAD Studio\5.0\Bpl";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx D5 "C:\Delphi5\Projects\Bpl;C:\Delphi5\Bin";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx D2 "c:\Delphi2\Delphi20\bin;c:\Delphi2\Delphi20\LIB";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>REM TMS *****************************************************
******************************

C:\Users\Harry-Dev>Set TMS "C:\Users\Harry-Dev\Documents\tmssoftware\TMS Compone
nt Pack\bpl\";"C:\Users\Harry-Dev\Documents\tmssoftware\TMS Advanced Charts\bpl\
";"C:\Users\Harry-Dev\Documents\tmssoftware\TMS Advanced Spreadgrid\bpl\";"C:\Us
ers\Harry-Dev\Documents\tmssoftware\TMS Cloud Pack\bpl\";"C:\Users\Harry-Dev\Doc
uments\tmssoftware\TMS Scripter\bpl\";"C:\Users\Harry-Dev\Documents\tmssoftware\
TMS Diagram Studio\bpl\";"C:\Users\Harry-Dev\Documents\tmssoftware\TMS Pack for
FireMonkey\bpl\";"D:\Compo\DXE3\FMX\TMS Pack for FireMonkey\bpl\";"D:\Compo\DXE5
\FMX\TMS Pack for FireMonkey\bpl\";
Die Umgebungsvariable "TMS "C:\Users\Harry-Dev\Documents\tmssoftware\TMS Compone
nt Pack\bpl\";"C:\Users\Harry-Dev\Documents\tmssoftware\TMS Advanced Charts\bpl\
";"C:\Users\Harry-Dev\Documents\tmssoftware\TMS Advanced Spreadgrid\bpl\";"C:\Us
ers\Harry-Dev\Documents\tmssoftware\TMS Cloud Pack\bpl\";"C:\Users\Harry-Dev\Doc
uments\tmssoftware\TMS Scripter\bpl\";"C:\Users\Harry-Dev\Documents\tmssoftware\
TMS Diagram Studio\bpl\";"C:\Users\Harry-Dev\Documents\tmssoftware\TMS Pack for
FireMonkey\bpl\";"D:\Compo\DXE3\FMX\TMS Pack for FireMonkey\bpl\";"D:\Compo\DXE5
\FMX\TMS Pack for FireMonkey\bpl\";" ist nicht definiert.

C:\Users\Harry-Dev>REM Progs ***************************************************
*******************************

C:\Users\Harry-Dev>Setx CollabNet "C:\Program Files (x86)\CollabNet\Subversion C
lient";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx ASys C:\Windows\system32;C:\Windows;C:\Windows\System32\
Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>Setx Acronis "C:\Program Files (x86)\Common Files\Acronis\Sna
pAPI\";

ERFOLGREICH: Angegebener Wert wurde gespeichert.

C:\Users\Harry-Dev>REM Pathes konstruieren *************************************
********************************

C:\Users\Harry-Dev>Setx Pathes ;;;;;;C:\Delphi5\Projects\Bpl;C:\Delphi5\Bin;;c:\
Delphi2\Delphi20\bin;c:\Delphi2\Delphi20\LIB;;;;C:\Windows\system32;C:\Windows;C
:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;;

ERFOLGREICH: Angegebener Wert wurde gespeichert.
Und hier die Abfrage von Echo %Pathes%

Code:
C:\Users\Harry-Dev>echo %pathes%
;;;;;;C:\Delphi5\Projects\Bpl;C:\Delphi5\Bin;;c:\Delphi2\Delphi20\bin;c:\Delphi2
\Delphi20\LIB;;;;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Wind
ows\System32\WindowsPowerShell\v1.0\;;
Da fehlen wohl alle Einträge, wo Leerzeichen in den Pfadangaben sind.

Union 26. Apr 2014 13:51

AW: Problem mit PATH Variable unter XE5 / XE6
 
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%

Harry Stahl 26. Apr 2014 14:09

AW: Problem mit PATH Variable unter XE5 / XE6
 
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\";"

Union 26. Apr 2014 14:25

AW: Problem mit PATH Variable unter XE5 / XE6
 
setx kann nur 1024 byte verarbeiten. Versuche es doch mal alternativ mit Pathed. Das kann zwar nur PATH aber es gibt keine Längenbegrenzung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.
Seite 2 von 4     12 34      

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