Windows Vista/7 UAC vs. My Delphi OLE Server App @ Startup
Posted on 2010-03-29
I have an app that is an OLE (& OPC) Server which causes InitComServer to access HKLM which causes UAC to step in and demand verification. This wouldn't be such a big deal except for the fact a lot of our customers run our app from the startup group. Therein lies the rub...
My initial thought was to select "Run as administrator" in the startup shortcut, but this does not work (the app does not launch); neither do any of the other obvious tweaks to either the shortcut's or the the exe's properties. After some research, I learned about embedding a manifest as a resource and tried that... The app still won't launch from the startup group. Any attempt to "Run as administrator" from the Startup group seems to fail.
The only loophole that works is to remove all of the RAA props and the embedded manifest, run the app using RAA from the explorer (one time), and then put the non-RAA shortcut into startup. After that initial RAA from the explorer, the startup shortcut works every time. I gather that when an app loads in this manner, it is using a virtualized registry and any registry modifications made by my app aren't really going to the "real" registry... Which is "OK", but not what I ultimately want.
My question: how do all of my other startup apps get around this? I'm sure that at least some of them need elevated privs, so how do they get 'em?