One of my systems has a broken Delphi installation: it thinks BDSCOMMONDIR
points to C:\Windows\system32\9.0
whereas on a functioning system, it points to C:\Users\Public\Documents\RAD Studio\9.0
.
I'm probably the victim of corporate security madness, as I found out nobody can access the C:\Users\Public
directory on the failing system anyway.
What I want is to move the content of the directory to a place where the developers can write, then globally (a subdirectory C:\ProgramData
comes to mind) and globally set the BDSCOMMONDIR
.
So: where does Delphi get the BDSCOMMONDIR
value from?
How can I override it?
The major reason why it is holding me back is that I now get this on every compile/build I try:
[MakeDir Error] Unable to create directory "C:\Windows\system32\9.0\hpp\". Access to the path 'C:\Windows\system32\9.0\hpp\' is denied.
[MakeDir Error] Unable to create directory "C:\Windows\system32\9.0\Dcp". Access to the path 'C:\Windows\system32\9.0\Dcp' is denied.
[MakeDir Error] Unable to create directory "C:\Windows\system32\9.0\hpp". Access to the path 'C:\Windows\system32\9.0\hpp' is denied.
You can go to
Tools|Options|Environment Options|Environmental Variables
double click on
BDSCOMMONDIR
and set it to whatever you want.
Also get a look at Where are environment variables stored in registry?
I now had access to a system with Delphi 2007 showing similar symptoms for which I used RegAlyzer to verify.
By default, Delphi 2007 uses the SYSTEM
setting of the environment variable from the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
It never gets the value from the USER
environment variable key in the registry:
HKEY_CURRENT_USER\Environment
An override is stored by Delphi 2007 (which is BDS version 5.0) under this key:
HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Environment Variables
All three keys store regular REG_SZ name/value pairs (where name is BDSCOMMONDIR
).
My guess (I hope to eventually verify this) is that newer Delphi versions have similar behaviour because of backward compatibility.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With