4

私のシステムの 1 つに Delphi のインストールが壊れています。機能しているシステムでは を指しているのに対し、それはBDSCOMMONDIRを指していると考えられます。C:\Windows\system32\9.0C:\Users\Public\Documents\RAD Studio\9.0

C:\Users\Publicとにかく、失敗したシステムのディレクトリに誰もアクセスできないことがわかったので、私はおそらく企業セキュリティの狂気の犠牲者です。

私が望むのは、ディレクトリのコンテンツを開発者が書き込み可能な場所に移動してから、グローバルに (サブディレクトリC:\ProgramDataが思い浮かびます)、グローバルにBDSCOMMONDIR.

では、Delphi はどこBDSCOMMONDIRから値を取得するのでしょうか。
どうすれば上書きできますか?

それが私を妨げている主な理由は、私が試みるすべてのコンパイル/ビルドでこれを取得することです:

[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.
4

3 に答える 3

7

あなたはに行くことができます

ツール|オプション|環境オプション|環境変数

をダブルクリック

BDSCOMMONDIR

そしてそれをあなたが望むものに設定してください。

また、環境変数はレジストリに保存されていますか? もご覧ください。

于 2012-09-05T16:46:01.583 に答える
1

これで、 RegAlyzerを使用して確認した同様の症状を示す Delphi 2007 を搭載したシステムにアクセスできるようになりました。

デフォルトでは、Delphi 2007 はSYSTEMレジストリの環境変数の設定を使用します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

レジストリの環境変数キーから値を取得することはありません。USER

HKEY_CURRENT_USER\Environment

オーバーライドは、Delphi 2007 (BDS バージョン 5.0) によって次のキーの下に保存されます。

HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Environment Variables

3 つのキーはすべて、通常の REG_SZ の名前と値のペアを格納します ( name はBDSCOMMONDIR)。

私の推測では (最終的にはこれを確認したいと考えています)、下位互換性のために新しい Delphi バージョンでも同様の動作が行われていると思われます。

于 2014-10-11T20:28:34.310 に答える