わかりました-私はこれが機能していると思います。開発者ツール (RAD Studio、EurekaLog など) がインストールされていない VMware ゲストで、アプリケーションをコンパイルすることができました。基本的に、これらのファイルを含む Compiler フォルダーがあります。
いくつかのファイルしか必要ないことがわかります。基本的にこれらのファイル:
2008/02/05 05:13 PM 89,088 BorDebug.dll
11/02/2009 06:02 PM 57,344 Borland.Build.Tasks.Common.dll
11/02/2009 06:02 PM 147,456 Borland.Build.Tasks.Delphi.dll
11/02/2009 06:02 PM 49,152 Borland.Build.Tasks.Shared.dll
2009/11/02 06:02 PM 20,480 Borland.Globalization.dll
2009/08/19 05:00 PM 22,370 CodeGear.Common.Targets
2009/08/19 05:00 PM 32,928 CodeGear.Delphi.Targets
2009/11/02 06:02 PM 1,328,128 DCC32.EXE
2010/02/25 08:17 AM 979,456 ecc32.exe
2009/11/02 06:02 PM 314,368 lnkdfm140.dll
2010/02/25 08:11 AM 40,960 Process.exe
2009/08/19 05:00 PM 75,264 rlink32.dll
2010/06/15 08:41 AM 185 rsvars.bat
たぶん、これらのファイルをさらにいくつか切り出すこともできます。また、すべての組み込み VCL ファイル (基本的には lib および Indy10 フォルダー) とサードパーティ コンポーネントを含む components フォルダーもあります。Delphi では、ライブラリ パスの設定を空白にしました。この手順が重要です。次に、そのライブラリ パス設定を特定のプロジェクト オプションに入れます。環境変数を使用して、組み込みファイルとサードパーティ ファイルの場所を指定しました。これらの環境変数は RAD Studio で設定され、リリース コンパイルの実行時にコマンド ラインから設定できます。したがって、次のような BAT ファイルがあります。
SET BDS=C:\_Releases\Compiler
SET COREFILES=C:\_Components\D2010
SET COMPONENTS=C:\_Components
SET LANGDIR=EN
ライブラリ パスは次のようになります。
$(COREFILES)\lib;$(COREFILES)\Indy10;$(COMPONENTS)\EurekaLog;$(COMPONENTS)\Jcl\source\common;$(COMPONENTS)\Jcl\source\windows
これで、MSBuild と上記の生ファイルだけを含む未使用の VMware セッションで、次のコマンドを呼び出すことができます。
msbuild project.dproj -t:rebuild /p:config=リリース
ecc32 --el_alter_exe"project.dproj"
これにより、アプリケーションが構築されます。確かに、物事を単純化する Delphi32 のパーソナリティを使用しているだけですが、私たちにとってこれはうまくいくと思います。