Stronger User Access Control (UAC) Minimum in Windows 8

I recently stumbled over a new feature in Windows 8 that some people, especially developers may want to be aware of. In Windows 7 if you were logged in with a user account associated with the Administrators group, and you turned the User Access Control (UAC) slider down to its minimum level, you were basically running all apps as full admin permission.

Once I started developing in Windows 8, I tried setting things up the same way but was a little baffled when some things started prompting me for running as admin or failing for permissions reasons. For example, launching a particular solution I was working on in Visual Studio 2010 for debugging resulted in this:

AdminPermission

And several command line scripts that I have to run on a regular basis for development were failing as well.

The fix was simply to make sure I launched whatever process was failing with “Run as Administrator”. But that seemed weird because I thought I was running as Administrator.

I did some digging with the Windows 8 team and found out that in fact they have made some changes in UAC. Even though the dialog looks the same as it did in Windows 7 and says “Never Notify”:

6-8-2012 1-30-02 PM

The underlying meaning of that setting is a little different. Instead of “UAC off” it really means “UAC auto-approve/never prompt” but not actually off. If something actually needs full admin permissions to run, you will have to explicitly run the process as Administrator.

The team also said that apps that require implicit Administrator permissions to run are considered obsolete and only partially supported.

So if you have been using Administrator permissions required as a crutch in your applications, get over it. And as a dev, you might sometimes have to explicitly start processes as Adminstrator even if you did not in Windows 7.