Fix In-Place Upgrade via setup.exe Failing With Compatibility Holds on Windows 11
🔍 WiseChecker

Fix In-Place Upgrade via setup.exe Failing With Compatibility Holds on Windows 11

When you run setup.exe from a Windows 11 installation media to perform an in-place upgrade, the process may stop with a message that the PC cannot be upgraded due to compatibility holds. These holds block the upgrade because Windows Setup detects a driver, application, or hardware component that is not compatible with the target build. In many cases, the actual incompatibility is minor or no longer present, but the hold remains cached. This article explains why compatibility holds occur, how to clear them from the registry, and how to bypass the block safely using command-line switches.

Key Takeaways: Clearing Compatibility Holds for a Successful In-Place Upgrade

  • Registry path HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\Downlevel: Stores compatibility hold entries that can be deleted to remove the block.
  • setup.exe /Auto Upgrade /Quiet /NoReboot /Compat IgnoreWarning: Command-line switch that bypasses non-critical compatibility holds during the upgrade.
  • Windows Setup log file Panther\setupact.log: Contains detailed error codes that identify which specific hold is blocking the upgrade.

ADVERTISEMENT

Why Compatibility Holds Block an In-Place Upgrade on Windows 11

Windows Setup runs a compatibility scan before copying any files. It checks installed drivers, third-party software, and system firmware against a list of known incompatibilities for the target build. If the scan finds a match, Setup writes a hold entry to the registry and displays a message that the upgrade cannot continue.

Compatibility holds fall into two categories. Hard holds block the upgrade unconditionally. They appear when a driver or application is known to cause data loss or system instability on the new build. Soft holds are warnings about items that might cause minor issues, such as a deprecated app or an unsigned driver. Setup treats soft holds as blocks unless you explicitly override them.

The most common cause of a false positive hold is a stale entry left over from a previous upgrade attempt or a driver that was updated after the hold was created. The registry stores the hold data in a cache that Setup does not automatically refresh. Deleting the cache or bypassing the scan allows the upgrade to proceed.

Steps to Clear Compatibility Holds and Run the In-Place Upgrade

Two methods work for removing compatibility holds. The first method deletes the hold cache from the registry so Setup rescans the system fresh. The second method uses a Setup command-line switch to ignore soft holds during the upgrade. Use the first method when you want a clean scan. Use the second method when you are certain the hold is a false positive and want to skip the check entirely.

Method 1: Delete the Compatibility Hold Cache from the Registry

  1. Open Registry Editor
    Press Windows + R, type regedit, and press Enter. Click Yes in the User Account Control prompt.
  2. Navigate to the Downlevel key
    Go to HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\Downlevel. If the Downlevel key does not exist, create it by right-clicking Upgrade, selecting New > Key, and naming it Downlevel.
  3. Back up the Downlevel key
    Right-click the Downlevel key and choose Export. Save the .reg file to your desktop. This step lets you restore the holds if the upgrade fails.
  4. Delete all values under Downlevel
    Select each value under the Downlevel key and press Delete. Do not delete the key itself. The values have names like FailureAction, FailureActionString, and BlockingApplication.
  5. Close Registry Editor and run Setup
    Double-click setup.exe from your Windows 11 installation media. Choose Keep personal files and apps and proceed with the upgrade.

Method 2: Use the /Compat IgnoreWarning Switch to Bypass Holds

  1. Open an elevated Command Prompt
    Press Windows + X and select Terminal (Admin). Click Yes in the UAC prompt.
  2. Navigate to the Setup folder
    Type cd /d D:\sources and press Enter. Replace D with the drive letter of your installation media. The drive letter may be different on your system.
  3. Run Setup with the compatibility override
    Type the following command and press Enter:
    setup.exe /Auto Upgrade /Quiet /NoReboot /Compat IgnoreWarning
    The /Auto Upgrade parameter forces an in-place upgrade. /Quiet suppresses the user interface. /NoReboot prevents an automatic restart so you can review the log. /Compat IgnoreWarning tells Setup to skip soft compatibility holds.
  4. Monitor the upgrade progress
    Open File Explorer and navigate to C:\$Windows.~BT\Sources\Panther. Open setupact.log with Notepad. Search for the word Error or Compat to see if any hard holds remain. If no hard holds exist, the upgrade will complete.
  5. Reboot the PC manually
    After the upgrade files are copied, restart the PC by running shutdown /r /t 0 in the same Command Prompt window.

ADVERTISEMENT

If the In-Place Upgrade Still Fails After Clearing Holds

Setup Log Shows Error Code 0x80070490

Error 0x80070490 indicates a missing or corrupted component store. Run DISM /Online /Cleanup-Image /RestoreHealth from an elevated Command Prompt before attempting the upgrade again. This command repairs the system image that Setup uses for compatibility checks.

Setup Log Shows Error Code 0x80073712

Error 0x80073712 means a required update is missing. Install all pending Windows Updates from Settings > Windows Update and restart the PC. Then retry the in-place upgrade.

Setup Log Shows Error Code 0x80070002

Error 0x80070002 is a file-not-found error. It occurs when the installation media is corrupted or incomplete. Re-download the Windows 11 ISO from the Microsoft Software Download page and create a new USB drive using the Media Creation Tool.

A Specific Driver or App Is Listed in the Hold Message

If the compatibility hold message names a particular driver or application, uninstall that item before running Setup. Open Settings > Apps > Installed apps, find the item, and click Uninstall. For drivers, open Device Manager, right-click the device, and select Uninstall device. Check the box Attempt to remove the driver for this device and confirm.

Registry Hold Cache vs Command-Line Override: Key Differences

Item Delete Registry Cache /Compat IgnoreWarning Switch
Effect on hard holds Clears all holds, including hard holds, before Setup rescans the system Ignores only soft holds; hard holds still block the upgrade
Risk level Low if the hold is a false positive; high if the hold is legitimate and you proceed without fixing the incompatibility Low when used for soft holds; ineffective for hard holds
When to use When you suspect a stale or incorrect hold is blocking the upgrade When you are certain the hold is a soft warning and want to skip the compatibility scan
Requires registry access Yes No
Requires elevated command prompt No Yes

You can now clear compatibility holds that block an in-place upgrade on Windows 11. Use the registry method to remove stale cache entries, or use the /Compat IgnoreWarning switch to bypass soft holds. After the upgrade completes, run sfc /scannow from an elevated Command Prompt to verify that all system files are intact. For persistent failures, check the setupact.log file for error codes and address each one individually.

ADVERTISEMENT