This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Note that 15.0 (in VS2017) no longer registers itself at this registry key location, so this trick won’t simply work. vswhere is now recommended to locate MSBuild 15,
I’ve seen this question coming up a few times, and bumped into this at a client recently: the UAC dialog coming up when debugging a 32-bit executable.
This is caused (more details below) by Installer Detection Technology introduced in Windows Vista (with UAC) and tightened in more modern Windows versions.
The solution is to either:
not include Installer, Patch, Update, Upgrade, Setup, … in your EXE name
provide a correct manifest to your EXE (getting this right can be hard)
If, like Delphi XE and higher, your organise your projects to use output directories like ...Bin\Delphi####\$(Platform)\$(Config), and back-port to Delphi 2010, then
The Delphi 2010 compiler puts the files in almost the right directory ...\Bin\Delphi2010\Debug\Spring.Tests.exe
The Delphi 2010 debugger barfs with this message:
---------------------------
Error
---------------------------
Could not find program, '...\Bin\Delphi2010\%Platform%\%Config%\Spring.Tests.exe'.
---------------------------
OK
---------------------------
So you might think that it is enough to hard code this in your base configuration:
Platform=Win32
Well no, the debugger still shows the above error message. Despite the compiler putting it in the correct directory: ...\Bin\Delphi2010\Win32\Debug\Spring.Tests.exe
So there are 3 configurations for the output directory:
Base (for documentation purposes only)
Bin\Delphi2010\$(platform)\$(config)
Debug
Bin\Delphi2010\Win32\Debug
Release
Bin\Delphi2010\Win32\Release
You might think: why is Spring4D still supporting Delphi 2010?
Two simple reasons:
many people still use it
it produces relatively small executables, which still is important in some situations like producing our own Build tool and keeping binary versions of that in our version control system
Generic support in Delphi took a very long time to get stabilised. Which means that compilers older than Delphi XE2 are hardly usable for code using generics. XE did get better, but Delphi 2010 and especially Delphi 2009 were hopeless.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Get deep insight into the Android Native Development Kit for building complex apps. Using this practical step-by-step tutorial, highlighted with comments and tricks, discover how to run C/C++ code embedded in a Java application or in a standalone application. You will create a real native application starting from project creation through to full implementation of native API and the porting of existing third-party libraries. Grab this eBook whilst it’s free today!
lextm commented on Mar 9, 2017 •
vswhereis now recommended to locate MSBuild 15,https://github.com/Microsoft/vswhere
n9 commented on May 17, 2017
vswhere -products *to get standalone installation of BuildTools. (See Microsoft/vswhere#61.)