I'm seeing a lot of push back on the security front, so lets talk about why UAC is here.
The "standard user" vision.
With Windows 7's new auto-elevation and its white-list features in place, I believe self-elevation (read: the hole) becomes easy and valuable to third parties. Bill Pytlovany (WinPatrol), for example, indicated he "wouldn’t think twice of taking advantage
of this" to save his users from having to go through the UAC prompt. Microsoft, of all companies, should know developers will write code that oozes into the nook and cranies of the Windows operating system. It may not be right, but it'll be done. Ask
the AppCompat guys.
I can see the exchange on Experts Exchange now...
BadAdvisor: "You can fix your LUA broken application by elevating."
WorseDeveloper: "How do I do that?"
BadAdvisor: "Well you can request elevation by adding this to your application manifest, or you can use this piece of code to self-elevate, without prompts. It works on Windows 7, I tested it!"
WorseDeveloper: "Cool! Thx2u"
[100 points awarded to BadAdvisor]
and this is the problem. UAC was designed to make sure developers develop their apps without abusing administrative privileges for every task. This basically gives devs a get-out-of-jail-free pass to do whatever the hell they want
again. We don't want to go back to those days, please.