Today a client emailed me to report that since installing Quickbooks “Enterprise” (note the scare quotes there. they are used with malice), her users (who are, sensibly, not Administrators) were faced with a User Account Control prompt (“Do you want to allow the following program to make changes to your computer?”) every time they opened the new version of Quickbooks. A little further investigation showed that “DBManagerExe.exe” was the actual file throwing the UAC dialog. Absolutely no information from Intuit is available whatsoever about how or why this program wants Administrator privileges, ways to nerf it, etc – apparently this “Enterprise” product is just supposed to be run in “Enterprises” by users who are allowed full Administrator privileges. Because, you know, that’s what “Enterprises” do. Delightful.
I chased the issue around and around trying to figure out what DBManagerExe.exe actually wanted access to, so I could just grant that to the users… but eventually I was forced to give up and just disable UAC selectively for that one program. Luckily, while the process is rather arcane, it’s not actually HARD. So let’s document it here.
1. Download the Microsoft Application Compatibility Toolkit. I won’t link it here, to avoid creating stale links – just Google it, it should come right up. Pick the latest version available (currently, 5.6). Run the installer.
2. start –> all programs –> Microsoft Application Compatibility Toolkit –> Compatibility Administrator (32-bit) or Compatibility Administrator (64-bit), as appropriate. Note: just because your system is 64-bit does not necessarily mean that’s the Compatibility Administrator you want here – this needs to match the application you want to selectively allow UAC-less admin privileges for, not the system as a whole! For DBManagerEXE.exe, I needed to select 32-bit. Further note: if you are not logged in as the actual Administrator account, you should right-click and “Run As Administrator” to open the Compatibility Manager. Otherwise, your “fix” won’t fix anything.
3. Click the “Fix” icon on the top toolbar. Click “Browse” to find the executable you want to enable – for me, it was C:\Program Files (x86)\Intuit\QuickBooks Enterprise Solutions 14.0\DBManagerExe.exe. Now, enter the name of the program and vendor in the two text boxes above the location in the dialog – this will make it easier to manage later, if you ever need to figure out what you’ve done and to whom. Click Next.
4. Under Compatibility Modes, click none. You don’t want this. (Unless you do, of course, but Compatibility Modes aren’t needed for nerfing UAC dialogs, they’re for something COMPLETELY different and certainly aren’t applicable to running Quickbooks Enterprise 2014, in this case.) Click Next.
5. Find RunAs Invoker on the list of Compatibility Fixes. Check it. Don’t mess with anything else. Click Next, then click Finish.
6. Save your database (from the button on the toolbar). Give it a name that makes sense, and save it in C:\Windows\System32. 8. File –> Install from the top menu. You’ll get a dialog box confirming that you’ve installed your fix. You should be done now.
Log in as an unprivileged user and test – in my case, for enabling non-Administrators to open Quickbooks “Enterprise” 2014, it worked flawlessly – no more UAC prompt, now the user went straight to the new setup wizard as they should.
Note: for this particular diabolically badly written application, just disabling UAC probably won’t be enough: QuickBooks also tends to fail miserably at starting its database manager service due to not placing its service user group into the local Administrators group. Each year of QB will create its own service user, in the form QBDataServiceUser24 or similar. If you’re here specifically for Quickbooks and you still get a nasty, this time NON Windows “you need to be administrator” prompt when you launch QB, you’ll need to find your local service user for the year of Quickbooks in question and add it to the local Administrators group on your machine. Yay, Intuit.