Get Rid Of UAC Prompts With Microsoft's Application Compatibility Toolkit
The number of UAC prompts in Windows 7 has been reduced significantly by Microsoft compared to Windows Vista. To increase security, applications are limited to standard user privileges in Windows Vista and Windows 7 (as well as newer versions of Windows that came out afterwards).
The UAC prompt informs the user that an application requires elevated privileges to run.
This is especially helpful if new applications have been installed on the system, but more of a nuisance if the program has to be used on a regular basis and is developed by a trusted developer.
For instance, why would you require an UAC prompt each time you run regedit or Revo Uninstaller?
It is also likely that most users click on yes just to run the program without considering for a moment what the prompt that is displayed actually means or asks them to do.
There are quite a few ways to limit UAC prompts further in Windows. One of the easiest ways for instance is to change a program's properties to always run with administrative privileges.
Another option, less commonly known, is to use the Microsoft Application Compatibility Toolkit to whitelist applications so that they do not display an UAC prompt when they are run.
Windows users need to download the software program from the Microsoft website and install it afterwards.
It comes with both a 32-bit and 64-bit Compatibility Administrator that you can run. 32-bit programs need to be added to the 32-bit Compatibility Administrator while 64-bit apps to the 64-bit Compatibility Administrator.
Start with a right-click on the New Database(1), then Create New and from the context menu that opens "Application Fix". This opens a new window where a program name, developer name and executable can be selected.
The next page lists the compatibility modes. Locate and select RunAsInvoker from the list and click the Test Run button afterwards to see how the program starts with that new compatibility mode.
If it starts without UAC prompt click next, if an error message is displayed it won't work at all. Most programs will however work without problems here.
Click Next two times after a successful test to add the application to the list. It should be displayed with its name underneath the database entry. Repeat the above steps for other applications that require an UAC prompt.
Save the database of programs by clicking on File > Save As in the menu, e.g. uac-whitelist.
The Compatibility Administrator saves the database as an sdb file on the local computer system. The database needs to be installed once. This needs to be done from an elevated command prompt.
Click the Windows start button, then All Programs > Accessories. Right-click the Command Prompt entry and select to Run as Administrator from the context menu.
Now issue the command
It is then possible to test the new setting immediately to see if the changes have been successful. Most programs should start now without UAC prompt while some might refuse to start. It is possible to revert the changes by deleting the non-working applications from the database and running the sdbinst command afterwards again.
Have a different way of automating UAC prompts in Windows? Let us know in the comments.
just right click on the db icon inside the program and select install. no need to use DOS for that.
I’ve done all this but get a “You are not an administrator!” error message when I try to launch the whitelisted program (although I’m logged in as admin of course).
Unfortunately I have the same Problems as Swayvill.
As long as I am in Testmode it works but without the database application I get the admin error:
“Cannot install or load RTCore32 driver. Make sure you’re loading this application from not a read-only medium and/or network drive, and you’re logged on with Administrator rights.”
(Of cause the application is not on a read only medium)
if you’re adding utorrent to the list and are using beta versions (i.e. frequently auto-upgrade), make sure when adding the program to your whitelist to uncheck the file-version entries before adding it to your db (after selecting RunAsInvoker in Compatibility Modes, only click next once, then uncheck all file-version entries, then click next again).
otherwise, each time you upgrade your programs you’ll have to do all the steps described in the article again.
Tried this but it’s not working. When I start up utorrent, UAC prompt pops up and when I try to add new torrents via web browser, UAC prompt pops up.
I’ve also tried the task scheduler method. In this case, utorrent starts w/o UAC prompt but when I try to add new torrents via web browser, the UAC prompt pops up every time w/o fail.
Mmm…… so the programs will run without annoying ‘UAC’, but they will only run with Standard User privileges… which sort of defeats the whole point of the excercise. i.e. switching ‘UAC’ off for selected trusted programs that require elevated privileges!
This is a frustrating matter for me as well. I have a dozen or so commercial apps that are a bit older than Windows 7, which, for various reasons, don’t load in a functional manner without either compatibility mode or Admin privilages. In either case, launching the program with XP mode or Admin results in a UAC popup.
I did, with some success, set up a Task Scheduler entry for each Adobe CS3 program and QuarkXpress, but decided to try this Compatibility whitelist method with DVDDecrypter. While it works in ‘test’ mode, it triggers the UAC when launched from it’s icon, so apparently, either I did something wrong, or the solution isn’t global to the system.
The simplest solution is just to turn off UAC completely. Just keep a good image backup of the system drive.
I did same as you said when I have selected runasinvoker and did test run it worked fine and created the sdb. when run the sdb. it shows it installed but still asking me UAC prompt
I can’t even configure the Toolkit. When installing, I get the ACT Configuration Wizard which asks me to Configure my ACT Data Base Settings by specifyingg an SQL Server and Database to store my compatibility data??? No idea how to do this; a drop-down menu is blank; and the Browse button produces no active servers; and why do I even need a network to configure a resident program? This is a Dead End for me.
Robert, you are running the Compatibility Manager. You want to run Compatibility Administrator (32-bit) or (64-bit) which should be just below Compatibility Manger in All Programs->Microsoft Applicaton Compatibility Toolkit.
Tried it on Win 8.1 enterprise, works like a charm :)
1- You need to download from MS site: “Windows Assessment and Deployment Kit (Windows ADK) for Windows 8.1”
2- Install first option named: “Application Compatibility Toolkit (ACT)”
3- Start “Compatibility Administrator (32-bit)” and follow procedure described in the article above
Big thanks to the author
have you guys figured out why it works on Test Run but when actually applying the .sdb, it fails? Thanks!
I have the same problem, the Test Run button in Compatibility Administrator seems to work but UAC prompts appear otherwise.
I’m trying to run Office 2002 on Win7 64-bit but it doesn’t behave itself entirely unless it is run in Compatibility Mode, and that’s making UAC prompts. I don’t want to have UAC prompts every time I run an Office app (which is alot).
It is because you are already in elevated context in Compatibility Administrator.
Hi tried following these instructions and they worked great, however, now the enduser is complaining it no longer works. The settings are still in the whitelist database however. What can be done to pinpoint where the error is occurring. Thanks!
I get an error message when running the command line sdbinst. It says “Too many command-line arguments”. Not sure how to proceed…
I also got that message when I first tried to run sdbinst. Turns out that I had misspelled a folder name in the path. The message was a bit misleading, to say the least. On Win 7, I was also able to install the custom database directly from the Compatibility Administrator by right-clicking on the file name in the tree (“ucb-whitelist” in this case) and selecting ‘Install” from the context menu. However, even though the installation ran successfully, I still had the same problem described above – it worked fine during the test, but I still got the UAC message when I invoked the application after the installation.
this looks great but what if I need to do this with a network application which is accessed over network share? Do I need to install Microsoft Application Compatibility Toolkit on every machine in my network and run db install?
I used this method to make whitelists for 32 bit Indesign, Photoshop and Illustrator CS5 and Avast Antivirus (with ACT 32 bit) as well as 64 bit Photoshop CS5 (with ACT 64 bit).
The 64 bit whitelist works, but not the 32 bit one. And yes, UAC tries to block my anivirus program from starting every time I restart my computer. I feel so safe.
Removing Avast from the 32 bit list enabled the rest to work after reinstalling the list.
Completely uninstalling and reinstalling Avast cleared it with UAC without further intervention.
Running on a Windows 7 64-bit machine, I used the 32-bit administrator as the program is 32-bit. The test run worked, installing the database in the command prompt was successful, but when I try to open the program I get several error messages about not being able to copy program files or something. Had to follow instructions to revert change, so I am back with the UAC popup.
if the app is installed on a user pc shopuld i install the toolkit there ?
The whole UAC thing has made me nuts since I bought a new computer with Win 10 last year. I’ve tried the UAC Shortcut route, and it did sort of work, but sometimes it didn’t work at all and sometimes it would open multiple windows of the same program. One program I use often is a very slow loader and resource hog, and when it tried to open six windows simultaneously it wasn’t pretty.
I downloaded and installed the Application Compatibility Toolkit and of course the one I had downloaded wasn’t compatible with my version of Win 10. OK. But it did give a link to the latest version so I downloaded that one. It of course wouldn’t install until I uninstalled the previous version, so I went through the whole routine again. Sigh. Microsoft.
But after everything was installed and I followed your instructions on how to use it -Bam – it all works great now. Why Microsoft can’t just have a “Don’t ask again” checkbox on the UAC confirmation box is a mystery to me, but again… Sigh. Microsoft.
So again my thanks, this has been a real aggravation reliever.
I got tired of clicking through these UAC prompts, so I just disabled it entirely. Problem solved.
Used this today on a UAC prompting application, this has removed the UAC shield from the icon and now no longer prompts for local administrator rights – many thanks!
For everyone having problems getting the application to launch with Admin rights outside of Compatibility Administrator. I was getting the same issues as well. Some applications worked, others didn’t. From a huge amount of experimentation, I finally stumbled on the answer… (Info from the Application:) “…some applications use various API calls to verify if the user is part of the Administrators group”. To resolve this, still select “RunAsInvoker”, then on the next page, choose the option “ForceAdminAccess”. This completely resolved the issue. Now I can get any application running with Admin Rights. Hope this helps.