Run Legacy Applications Without UAC Prompt Using RunAsInvoker

Some legacy Windows applications always trigger a UAC prompt asking for administrator credentials when launched on Windows 10 or Windows 11.

old ivms software for cameras
UAC prompt

This usually happens because the application contains an embedded manifest requesting elevated privileges such as:

requireAdministrator

or

highestAvailable

In many cases, these applications do not actually require administrator privileges to function correctly. The elevation requirement was added during development but is not necessary for normal operation.

This can become a problem in environments where users do not have local administrator rights.

Quick Solution

You can force Windows to ignore the application’s elevation request by applying the RunAsInvoker compatibility fix.

This can be done using Compatibility Administrator, which is included in the
Windows Assessment and Deployment Kit.

After applying the fix, the application will start without triggering a UAC prompt and will run with the same privileges as the current user.

Step-by-Step Fix

1. Install Compatibility Tools

Download and install the Windows Assessment and Deployment Kit.

Official Microsoft documentation:
https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install

During installation select the component:

selecting Application compatibility Tools to install
Application Compatibility Tools

After installation open:

Compatibility Administrator

You will see two versions:

  • Compatibility Administrator (32-bit)
  • Compatibility Administrator (64-bit)

If the application is 32-bit, it is recommended to use the 32-bit version of the tool.

2. Create a Compatibility Fix

Inside Compatibility Administrator:

  1. Right-click Custom Databases
  2. Select:
New Database → Create New → Application Fix

This opens the Create new application fix wizard.

creating database for fix

3. Configure the Application

Fill in the application information.

Example:

program information for applying fix for

Program name

Legacy Camera Client

Vendor

IWMS

Program file location

Select the executable file of the application.

Click Next.

4. Apply the RunAsInvoker Fix

In the Compatibility Fixes list:

Choosing RunAsInvocer fix for our application
  1. Find RunAsInvoker
  2. Enable the checkbox
  3. Click Next
Configure Matching Information:


The wizard will display the Matching Information window:

This step defines how Windows will identify the target application when applying the compatibility fix.

For most cases, the default settings generated by the tool are sufficient.

The recommended approach is:

  • Leave the automatically selected attributes unchanged
  • Ensure that FILE_VERSION and PRODUCT_VERSION remain selected
  • Click Finish

These attributes allow Windows to correctly match the compatibility fix to the executable file.

If you want the fix to remain valid even after minor software updates, you can keep only a few stable identifiers such as:

  • PRODUCT_NAME
  • FILE_DESCRIPTION
  • COMPANY_NAME

Using too many matching attributes may cause the fix to stop working if the application is updated and some metadata changes.

This creates a compatibility shim that overrides the application’s elevation requirement.

Admin Tip

If the application is frequently updated, avoid strict matching rules such as:

PE_CHECKSUM
LINK_DATE
SIZE

These values often change between builds and may prevent the compatibility fix from applying.

5. Save the Compatibility Database

Save the database file.

saving database
choosing name for database

Example:

LegacyCam_db.sdb

You can save the .sdb file in any location. A common and practical approach is to store it in the same directory as the application executable, especially if the fix is intended for a single machine.

This makes the fix easier to manage later because the compatibility database remains stored together with the application it was created for.

In larger environments or when deploying the fix to multiple computers, administrators often store the .sdb file in a central repository or deployment share and install it using scripts.

6. Install the Fix

To activate the fix:

installing database fix for shim

Right-click the database in Compatibility Administrator and select:

Install

Windows will register the compatibility database and automatically apply the fix whenever the application starts.

database installed

Test the Application

Launch the application normally.

Expected behavior:

  • The application starts without a UAC prompt
  • The program runs using standard user privileges

If the application works correctly without administrative rights, the fix is successful.

Deploy the Fix to Multiple Computers

If you need to deploy the fix across multiple machines, copy the .sdb file and install it using the Windows shim installer.

Command:

sdbinst.exe LegacyAppsFix.sdb

This command registers the compatibility database on the target system.

To uninstall the fix later:

sdbinst.exe -u LegacyAppsFix.sdb

This method allows administrators to deploy compatibility fixes through:

  • login scripts
  • software deployment tools
  • group policy startup scripts

Leave a Comment