Get Rid Of UAC Prompts With Microsoft's Application Compatibility Toolkit

Martin Brinkmann
Jul 8, 2010
Updated • Sep 14, 2015
Windows, Windows tips
|
30

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.

application compatibility listing

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.

user account control

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.

run as invoker

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

sdbinst pathToUAC-Whitelist.sdb

e.g.

sdbinst c:\users\martin\downloads\uac-whitelist.sdb

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.

Summary
Get Rid Of UAC Prompts With Microsoft’s Application Compatibility Toolkit
Article Name
Get Rid Of UAC Prompts With Microsoft’s Application Compatibility Toolkit
Description
How to use Microsoft's Application Compatibility Toolkit to bypass UAC prompts for select software programs.
Author
Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. Mark said on July 16, 2020 at 1:03 am
    Reply

    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.

  2. Jon said on January 23, 2019 at 5:30 pm
    Reply

    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!

  3. M A Weiss said on January 13, 2019 at 8:58 pm
    Reply

    I got tired of clicking through these UAC prompts, so I just disabled it entirely. Problem solved.

  4. Ran said on January 13, 2019 at 7:17 pm
    Reply

    Thank You!!!

    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.

  5. Pierre said on November 29, 2018 at 3:28 pm
    Reply

    hello
    if the app is installed on a user pc shopuld i install the toolkit there ?

    regards

  6. Jarred said on September 19, 2017 at 8:22 pm
    Reply

    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.

  7. Patrick said on January 2, 2016 at 2:46 pm
    Reply

    Solved.
    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.

  8. Patrick said on January 2, 2016 at 1:46 pm
    Reply

    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.

  9. Marko said on February 10, 2015 at 12:17 pm
    Reply

    Hello,

    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?

    Thank you!

    Best wishes,
    Marko

  10. martin said on February 7, 2015 at 11:22 am
    Reply

    I get an error message when running the command line sdbinst. It says “Too many command-line arguments”. Not sure how to proceed…

    1. Ralph said on April 7, 2015 at 9:27 pm
      Reply

      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.

  11. Jonathan said on June 2, 2014 at 3:50 pm
    Reply

    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!

  12. Rhydgaled said on March 31, 2014 at 3:34 pm
    Reply

    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).

    1. Anonymous said on November 5, 2014 at 7:12 pm
      Reply

      It is because you are already in elevated context in Compatibility Administrator.

  13. Jane said on December 27, 2013 at 6:40 am
    Reply

    have you guys figured out why it works on Test Run but when actually applying the .sdb, it fails? Thanks!

  14. blah said on November 18, 2013 at 2:49 am
    Reply

    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

  15. Mark said on July 19, 2013 at 12:51 pm
    Reply

    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.

  16. Robert said on June 25, 2013 at 1:52 am
    Reply

    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.

  17. Ravi said on April 4, 2013 at 3:05 pm
    Reply

    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

  18. Mark Weiss, P.E. said on February 16, 2013 at 8:26 pm
    Reply

    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.

  19. Jim said on October 25, 2011 at 6:06 pm
    Reply

    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!

  20. ph said on July 17, 2010 at 12:48 am
    Reply

    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.

    1. sayg said on April 30, 2012 at 6:03 pm
      Reply

      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.

  21. Swayvill said on July 11, 2010 at 7:49 pm
    Reply

    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).

    1. Markus said on July 17, 2010 at 8:33 pm
      Reply

      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)

  22. menem said on July 9, 2010 at 5:51 am
    Reply

    just right click on the db icon inside the program and select install. no need to use DOS for that.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.