TWebUpdater and UAC conditional

I was wondering if there was a reason that USEUAC needed to be a conditional define rather than a property of TWebUpdate? 

It appears that it would increase the size of the exe because two installer files would be included in resources, but otherwise it looks like it would work. 

I only ask because I remove the define and that means that every time I update I have to remember to go in and remove it again. 

If at least the define were in TMSDEFS.INC then I could include that file in my project and error out of the compile if I forgot to remove the define.

This has happened to me more than once so I'd like a clean way to test for it from my code (that's not getting updated).


After more digging in the code I found that the UACEnabled property reflects the current state of the USEUAC conditional define so I added an exception on program launch if UACEnabled is true. This isn't ideal because it's not caught during compile, just when the application is run - however it's better than missing it entirely.


The reason is to avoid adding an unnecessary +/- 80Kb resource to the EXE. 

If I may piggyback on this discussion:  What do I need to do to disable UAC in a C++ Builder app?  I've removed the {$DEFINE USEUAC} line, but UACEnabled is still true.


From C++Builder, you might have to recompile the package TMSDxx.DPROJ