Hallo zusammen,
ich komm nicht mehr weiter.
Es geht um CreateProcess und den Parameter "Environment-Block".
Meine Anwendung startet mittels "CreateProcess" die msbuild.exe.
Es funktioniert, wenn ich meine Anwendung aus der
IDE starte.
Es funktioniert
NICHT, wenn ich meine Anwendung direkt aus einem Windows-Explorer starte. Es kommt der Fehler
C:\projects\dpt\unittests\example_data\project_msb uild_win32_debug\Project_msbuild_win32_debug.dproj : error MSB4057: Das Ziel "build" ist im Projekt nicht vorhanden.
Wenn ich eine Batch-Datei erstelle und diese direkt aus dem Windows-Explorer starte, dann funktioniert es auch.
Code:
ECHO ***************************************************************************
ECHO *** Batch-file generated by DelphiPackageTool (DPT) ***********************
ECHO ***************************************************************************
SET
BDS=C:\Program Files (x86)\Embarcadero\Studio\23.0\
SET PROJECTGROUPROOT=C:\projects\dpt\unittests\example_data\
ECHO ***************************************************************************
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" "%PROJECTGROUPROOT%project_msbuild_win32_debug\Project_msbuild_win32_debug.dproj" /t:build /p:config="Debug" /p:platform="
Win32" /p:target="Deploy"
Pause
Wenn ich die Zeile "SET
BDS=C:\Program Files (x86)\Embarcadero\Studio\23.0\" in der Batch-Datei weglasse, dann kommt
auch die Fehlermeldung
C:\projects\dpt\unittests\example_data\project_msb uild_win32_debug\Project_msbuild_win32_debug.dproj : error MSB4057: Das Ziel "build" ist im Projekt nicht vorhanden.
Daraus schliesse ich, dass man irgendwie im Parameter "Enviornment" der Methode "CreateProcess" die Information "SET
BDS=C:\Program Files (x86)\Embarcadero\Studio\23.0\" mitgeben muss.
Aber wie?
Ich bin um jeden Hinweis dankbar.
Gruss