- edited description
build.exe fails to start if Registry contains key for non-existing Delphi installation
build.exe fails if Registry contains key for non-existing Delphi installation
Situation: I have a key in registry for Delphi XE3 (created by old FireDAC installation), while Delphi XE3 is not actually installed on my computer.
here is the screenshot of that registry hive
Failure symptoms: When I start build.exe it stops with error: Project Build.exe raised exception class EArgumentException with message 'Invalid characters in file name'. And it does not show my existing XE5 installations.
EArgumentException happens in BuildEngine.pas on the line 404:
lBdsDirectory := TPath.GetDirectoryName(lFullBdsFileName);
The problem is that lFullBdsFileName is empty string.
I used the following simple fix to avoid this error:
if lFullBdsFileName<>'' then
lBdsDirectory := TPath.GetDirectoryName(lFullBdsFileName);
Comments (6)
-
reporter -
reporter Easy way to reproduce (assuming that you don't have XE3 installed): create empty key 10.0 in HKEY_CURRENT_USER\Software\Embarcadero\BDS\
(if XE3 is installed, old key can be renamed temporary to __10.0, and empty 10.0 key could be created)
-
repo owner - marked as major
Changed priority because bugs in the Build.exe cannot be classified as blocker unless its impossible to build the framework otherwise.
-
repo owner -
assigned issue to
-
assigned issue to
-
repo owner - changed status to resolved
fixed issue
#10→ <<cset 89093104173e>>
-
repo owner fixes
#10→ <<cset 73eed1077da3>>
- Log in to comment