Skip to content

Commit 122f334

Browse files
authored
Merge pull request #10169 from v-tappelgate/AB#8143-setup-compatibility-checks
AB#8143: Troubleshoot Setup Compatibility
2 parents c76829c + 7a38096 commit 122f334

File tree

4 files changed

+130
-0
lines changed

4 files changed

+130
-0
lines changed
Loading
Loading
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
---
2+
title: Use the Windows Setup Compatibility Scan Logs to Identify Blocking Issues
3+
description: Discusses how to locate and interpret Windows Setup compatibility scans to resolve compatibility issues.
4+
ms.date: 11/15/2025
5+
manager: dcscontentpm
6+
audience: itpro
7+
ms.topic: troubleshooting
8+
ms.reviewer: kaushika, warrenw, v-appelgatet
9+
ms.custom:
10+
- sap:windows setup,upgrade and deployment\installing or upgrading windows
11+
- pcy:WinComm Devices Deploy
12+
appliesto:
13+
- <a href=https://learn.microsoft.com/windows/release-health/supported-versions-windows-client target=_blank>Supported versions of Windows Client</a>
14+
---
15+
16+
# Use Windows Setup compatibility scan logs to identify blocking issues
17+
18+
During a feature update or in-place upgrade, Windows Setup runs a compatibility scan. If Setup detects incompatible applications or drivers, it records the findings in XML reports in the Panther logging folder. This guide explains:
19+
20+
- What result codes mean (for example, `0xC1900208 - incompatible app`).
21+
- Where to find log files.
22+
- How to interpret CompatData\*.xml and \*_APPRAISER_HumanReadable.xml.
23+
- How to remediate compatibility issues, either manually or at scale, by using Setup's `/compat scanonly` mode and the SetupDiag tool.
24+
25+
## Symptoms
26+
27+
You run a Windows feature update or an in-place upgrade on a Windows computer. The Windows Setup process fails and returns a `0xC1900208` error code. This code indicates a compatibility issue. The computer has an application or driver that's not compatible with the new version or feature update. You might encounter this issue even if the incompatible application or driver was already uninstalled.
28+
29+
> [!NOTE]
30+
> If Windows Setup returns the `0xC1900210` code instead, no compatibility issues exist.
31+
32+
## Resolution
33+
34+
> [!NOTE]
35+
> If you want to test compatibility before you deploy a feature update or in-place upgrade at scale (by using Microsoft Intune or Microsoft Endpoint Manager), review [How to test compatibility at scale](#how-to-test-compatibility-at-scale). That section describes special considerations and techniques to supplement the following procedure.
36+
37+
1. Use the compatibility scan logs (CompatData\*.xml or \*_APPRAISER_HumanReadable.xml) to identify the blocking issue. For more information, see [How to use the compatibility scan logs to identify the blocking issue](#how-to-use-the-compatibility-scan-logs-to-identify-the-blocking-issue).
38+
1. Fix the problematic application or driver. For example, uninstall it or upgrade it to a compatible version. If the human-readable log points to a specific file, and the related application or driver was already uninstalled, remove the indicated file.
39+
1. If you intend to use the same media for the next setup attempt, clear the setup-related caches:
40+
41+
- Empty the C:\Windows\SoftwareDistribution\Download folder.
42+
- If you don't need the files in the hidden C:\$WINDOWS.~BT folder, empty the folder.
43+
44+
1. To make sure that Setup has the latest compatibility information, use Dynamic Update. For more information, see [Update Windows installation media with Dynamic Update](/windows/deployment/update/media-dynamic-update).
45+
1. To test compatibility without running the full setup, run the following command at a Windows command prompt:
46+
47+
```console
48+
```setup.exe /auto upgrade /noreboot /eula accept /compat scanonly /compat ignorewarning
49+
```
50+
51+
For more information, see [Windows Setup Command-Line Options: /Compat](/windows-hardware/manufacture/desktop/windows-setup-command-line-options#compat).
52+
53+
1. Recheck the logs to make sure that the issue doesn't recur, and that Setup generated the `0xC1900210` code. If it generated the `0xC1900208` code, review the logs for other compatibility issues.
54+
1. After the compatibility checks pass, retry the upgrade.
55+
56+
### How to use the compatibility scan logs to identify the blocking issue
57+
58+
During the setup process, Windows Setup stores logs in different locations. Look for the log files in the following locations.
59+
60+
> [!TIP]
61+
> These folders are hidden. To make sure that you can search the folders, open File Explorer, select the **View** menu, select **Show**, and then make sure that **Hidden items** is selected.
62+
63+
- Logs that Setup stores during the Downlevel, OOBE, or Rollback stages of the Setup process: C:\\$WINDOWS.~BT\\Sources\\Panther\\CompatData\<date-time>.xml.
64+
65+
> [!NOTE]
66+
> In this file path, \<date-time> represents the date and time when the file was created. The latest timestamp is the most relevant to the troubleshooting process.
67+
68+
:::image type="content" source="./media/use-windows-setup-compatibility-scan-logs-to-identify-blocking-issues/list-of-compatdata-log-files.png" alt-text="A directory listing of the compatibility log files.":::
69+
70+
- Logs that Setup stores after the OOBE stage of the Setup process: C:\Windows\Panther\.
71+
72+
- Human-readable log that the compatibility appraiser stores: Search the operating system drive for \*_APPRAISER_HumanReadable.xml.
73+
74+
For more information about Setup log files, see [Windows upgrade log files](/windows/deployment/upgrade/log-files).
75+
76+
#### Using the CompatData\<date-time>.xml file
77+
78+
Open the most recent CompatData\<date-time>.xml, and search for the following strings:
79+
80+
- In the \<Programs> section, search for **BlockingType="Hard"**. This string identifies programs that you have to remove or mitigate in order to upgrade Windows. The following excerpt shows an application that's identified in this manner:
81+
82+
```output
83+
<DriverPackage Inf="oem471.inf: BlockMigration="False" HasSignedBinaries="True"/>
84+
</DriverPackages>
85+
<Programs>
86+
<Program Name="Some Wallpaper Apps may be incompatible" Id="{3eb4353f-e9c5-44b4-97c6-a07df49c5803}" DefaultIcon="True">
87+
<CompatibilityInfo BlockingType="Hard" StatusDetail="WarnUpgrade" Message="Your PC has an app that changes the Window Desktop or Wallpaper and it may be incompatible with this version of Windows. This app may...
88+
<Link Target="https://go.microsoft.com/fwlink/?LinkId=2311650" Value="Learn More"/>
89+
<Action Name="Dismiss" Link="wsc:wica:_{3eb4353f-e9c5-44b4-97c6-a07df49c5803}" DisplayStyle="Link" ResolveState="NotRun"/>
90+
</Program>
91+
</Programs>
92+
</CompatReport>
93+
```
94+
95+
- Search the file for **//DriverPackages/DriverPackage\[@BlockMigration="True"]**. This string identifies a driver that won't migrate. You have to upgrade or remove this driver in order to upgrade Windows.
96+
97+
#### Using the \*_APPRAISER_HumanReadable.xml file
98+
99+
The human-readable log file uses a flattened, easier-to-scan XML file than the CompatData logs. You can use this log to find exact file paths to files that block Setup, including .exe or .dll files that are left behind after you uninstall an application. To find this information, follow these steps:
100+
101+
1. Open the most recent \*_APPRAISER_HumanReadable.xml file, and then search for the **DT_ANY_FMC_BlockingApplication=True** string.
102+
103+
1. After you find the string, search for a nearby occurrence of the **LowerCaseLongPathUnexpanded** property. This property records the exact file path to the blocking artifact.
104+
105+
:::image type="content" source="./media/use-windows-setup-compatibility-scan-logs-to-identify-blocking-issues/human-readable-compatibility-properties.png" alt-text="The human-readable XML file. This image highlights the property elements of applications that have compatibility issues.":::
106+
107+
### How to test compatibility at scale
108+
109+
Before you try to run an update or upgrade operation at scale, run `setup.exe` together with the `/compat scanonly` switch to generate logs that you can use to inventory blocking applications and drivers.
110+
111+
To help resolve compatibility issues, use the [SetupDiag](/windows/deployment/upgrade/setupdiag) tool. SetupDiag parses Windows Setup logs and maps the log data to known rules (for example, `CompatBlockedApplication`) that pinpoint the causes of setup issues. To start SetupDiag, open a Windows Command Prompt window, and then run a command that resembles the following command:
112+
113+
```console
114+
SetupDiag.exe /LogsPath "C:\Temp\WindowsSetupLogs" /Output "C:\Temp\SetupDiag-Results.txt"
115+
```
116+
117+
You can combine SetupDiag outputs into your reporting pipeline.
118+
119+
## More information
120+
121+
Microsoft Compatibility Appraiser creates registry entries in the `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags` subkey. This process runs as the \Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser scheduled task.
122+
123+
Windows inbox and appraiser processes and Dynamic update processes write and refresh compatibility intelligence when they run scans. Windows Setup, Windows Update, and enterprise tools then use this information to decide whether a device is ready for a target release without running a full upgrade.
124+
125+
## References
126+
127+
- [Windows 10 upgrade resolution procedures](windows-10-upgrade-resolution-procedures.md#0xc1900101)
128+
- [Windows upgrade log files](/windows/deployment/upgrade/log-files)

support/windows-client/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,8 @@ items:
857857
href: ./setup-upgrade-and-drivers/system-restore-points-disabled.md
858858
- name: Upgrade fails and generates error code 0xC1900101-0x20017
859859
href: ./setup-upgrade-and-drivers/upgrade-fails-with-error-0xc1900101-0x20017.md
860+
- name: Use the Windows Setup compatibility scan logs to identify blocking issues
861+
href: ./setup-upgrade-and-drivers/use-windows-setup-compatibility-scan-logs-to-identify-blocking-issues.md
860862
- name: Windows 10 upgrade error codes
861863
href: ./setup-upgrade-and-drivers/windows-10-upgrade-error-codes.md
862864
- name: Windows 10 upgrade issues troubleshooting

0 commit comments

Comments
 (0)