The Windows Server 2022 Standard Desktop Experience → Windows Server 2025 Standard Desktop Experience path is supported, so identify the application, driver, or server compliance block behind Need attention before attempting Setup again.^1^
Run a compatibility-only scan
From an elevated Command Prompt, replace D: with the mounted ISO drive:
D:
setup.exe /auto upgrade /noreboot /eula accept /compat scanonly /compat ignorewarning
This runs the compatibility checks without performing another full upgrade.^2^
After it finishes:
- Enable File Explorer → View → Show → Hidden items.
- Open the newest file matching:
-
C:\$WINDOWS.~BT\Sources\Panther\CompatData*.xml
- Search it for:
-
BlockingType="Hard" — identifies a blocking application.
-
BlockMigration="True" — identifies a driver that cannot migrate.
- Search the system drive for the newest
*_APPRAISER_HumanReadable.xml.
- In that file, search for:
-
DT_ANY_FMC_BlockingApplication=True
- Then locate the nearby
LowerCaseLongPathUnexpanded value, which gives the path of the blocking file.
Upgrade or uninstall the named application or driver. If the software was already removed but the appraiser identifies a leftover executable or DLL, remove that specific artifact after confirming which product installed it. Then rerun the compatibility scan. A result of 0xC1900210 means Setup found no compatibility issue; 0xC1900208 means another compatibility block remains.^2^
Check SetupDiag results
Windows Setup normally runs SetupDiag automatically after a failed upgrade. Open:
C:\Windows\Logs\SetupDiag\SetupDiagResults.xml
Look at the last reported failure, which is typically the fatal one when multiple failures are present. In particular, PlugInComplianceBlock identifies a server-specific compliance block and its required remediation.^3^
If that file is missing or inconclusive, run the latest SetupDiag.exe from an elevated Command Prompt:
mkdir C:\SetupDiag
SetupDiag.exe /Output:C:\SetupDiag\Results.log
notepad C:\SetupDiag\Results.log
SetupDiag parses the existing upgrade logs and maps them to known blocking rules.^3^
Verify prerequisites and restrictions
Before the next attempt:
- Take and test a full backup.
- Confirm the ISO language matches the installed OS language.
- Use licensed Windows Server 2025 media, not evaluation media.
- Keep the installation type unchanged: Desktop Experience → Desktop Experience.
- Keep the edition as Standard unless performing a supported edition upgrade.
- If NIC Teaming is configured, disable it temporarily.
- Confirm the server is not booting from a VHD and is not a failover-cluster node.
These are documented in-place-upgrade restrictions and prerequisites.^1^^4^
Also apply these workload-specific branches only if relevant:
- Azure VM: Do not use the normal ISO-media procedure; use the Azure VM upgrade process and its assessment tool.^5^
- Domain controller: Microsoft recommends deploying a clean Windows Server 2025 installation, promoting it, and demoting the older DC rather than using an in-place upgrade.^4^
- Exchange Server installed: A major-version in-place OS upgrade is unsupported; migrate Exchange to a supported Windows Server installation instead.^6^
Once the compatibility scan passes, rerun setup.exe, select Windows Server 2025 Standard (Desktop Experience) and Keep files, settings, and apps, and allow Setup to download updates so it receives current compatibility information.^4^
References
- Plan your Windows Server upgrade
- Use Windows Setup compatibility scan logs to identify blocking issues
- SetupDiag
- Perform an in-place upgrade of Windows Server
- In-place upgrade for VMs running Windows Server in Azure
- Exchange Server supportability matrix