#define MyAppVersion GetFileVersion("myapplication.exe")
I use this GetFileVersion() function to get the version number of the exe file of my application during the pre processor steps. This version number then is used at several steps in my setup script. When I tried to add the build command for Visual Studio to [_ISToolPreCompile], I realize the situation that the pre processor command is executed before the pre-compilation steps run. This causes the version number to be too old for the current setup compilation.
In my opinion the [_ISToolPreCompile] section should be executed before any other setup compiler action is executed, even the preprocessor steps.