Error Code 0xC1900101.

The IT Guys 65 Reputation points
2026-11-10T14:39:28.5166667+00:00

During the migration process from Windows Server 2016 to Windows Server 2025, the upgrade encountered an unexpected failure with above error

Windows for business | Windows 365 Enterprise
0 comments No comments

2 answers

Sort by: Oldest
  1. AI answer

    2026-11-10T14:41:06.77+00:00

    Run SetupDiag and inspect the rollback logs before retrying, because 0xC1900101 is a generic rollback code—usually involving an incompatible driver—and does not identify the specific component by itself.^1^

    1. Collect the actual failure details

    A direct Windows Server 2016 → Windows Server 2025 in-place upgrade is supported with installation media on a nonclustered server. Windows Update does not provide this direct path from Server 2016.^2^

    1. Sign in after the rollback and open:
      • C:\Windows\Logs\SetupDiag\SetupDiagResults.xml
      • Registry Editor → HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetupDiag\Results
      Windows Setup normally runs SetupDiag automatically after a failure.^3^
    2. If no useful result exists, download the latest SetupDiag.exe, save it as C:\SetupDiag\SetupDiag.exe, and run this from an elevated Command Prompt:
         mkdir C:\SetupDiag 2>nul
         cd /d C:\SetupDiag
         SetupDiag.exe /Output:C:\SetupDiag\Results.log /Verbose
         notepad C:\SetupDiag\Results.log
      
      SetupDiag requires .NET Framework 4.7.2 or later. If needed, check the installed version:
         reg.exe query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4" /s
      
    3. Record the following from the result:
      • Complete result and extend code, such as 0xC1900101-0x20017
      • Matching Profile Found or matched rule
      • Named driver, service, device, or application
      • Failure phase and operation
      If SetupDiag lists several failures, the last failure is typically the fatal one.^3^

    2. Inspect the rollback logs

    Use an elevated Command Prompt or enable File Explorer → View → Show → Hidden items and unhide protected operating-system files. Review:

    • C:\$WINDOWS.~BT\Sources\Rollback\setupact.log
    • C:\$WINDOWS.~BT\Sources\Rollback\setuperr.log
    • C:\$WINDOWS.~BT\Sources\Rollback\setupapi\setupapi.dev.log
    • C:\$WINDOWS.~BT\Sources\Rollback\setupmem.dmp
    • C:\$WINDOWS.~BT\Sources\Rollback\*.evtx
    • C:\$WINDOWS.~BT\Sources\Panther\setupact.log
    • C:\$WINDOWS.~BT\Sources\Panther\setuperr.log

    For 0xC1900101, the rollback setupact.log and event logs are primary evidence; setupapi.dev.log is particularly useful for device-install failures such as extend code 0x30018.^4^

    Search upward from the last occurrence of the error code and correlate entries by timestamp. Also search for:

    Shell application requested abort
    Abandoning apply due to error for object
    

    3. Remediate only the identified component

    Depending on the result:

    • Update or uninstall the named storage, RAID/HBA, NIC, chipset, or other device driver.
    • If SetupDiag names disk encryption, antivirus, EDR, backup, or another filter driver, use that vendor’s supported removal or upgrade procedure.
    • Update BIOS/firmware only through the hardware or VM-platform vendor.
    • If the extend code is 0x20017, concentrate on boot/storage drivers, disk-encryption software, and possible hardware failure.
    • If it is 0x30018, investigate the device named in setupapi.dev.log and disconnect nonessential peripherals.^1^

    Before retrying, create and restore-test a full backup. Then mount matching Server 2025 installation media inside Server 2016, run setup.exe, and select Keep files, settings, and apps.^5^

    Conditional fallbacks

    • If SetupDiag identifies no component: perform a clean boot, disconnect nonessential peripherals, remove unused devices/drivers, and retry with a minimal driver and startup-service set.^1^
    • If NIC Teaming is enabled: disable it before the upgrade and re-enable it afterward.^2^
    • If this is a domain controller: do not continue with an in-place upgrade; install Server 2025 cleanly, promote the new DC, and demote the old DC.^5^
    • If this is an Azure VM: first run the Azure VM OS Upgrade Assessment Tool and follow the Azure-specific procedure.^6^ If that procedure requires temporarily disabling security software or firewalls, this increases exposure—use a tightly controlled maintenance window with network isolation or equivalent protections, then immediately re-enable and verify every security control after the attempt.

    Provide the complete result-plus-extend code and the SetupDiag matched rule to narrow remediation to the failing phase.


    References

    1. Windows 10 upgrade resolution procedures - Windows Client
    2. Plan Your Windows Server Upgrade Path | Microsoft Learn
    3. SetupDiag
    4. Windows upgrade log files
    5. Upgrade Windows Server in Place | Microsoft Learn
    6. In-place upgrade for VMs running Windows Server in Azure
    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

  2. Ronald Sabiiti 1,670 Reputation points Independent Advisor
    2026-11-10T15:31:32.4366667+00:00

    Hello The IT Guys,

    Error 0xC1900101 during the Windows Server 2016 to 2025 upgrade commonly indicates a driver or hardware compatibility issue.

    Please try the following:

    1. Update storage, network, chipset, and RAID drivers, along with server firmware.
    2. Temporarily remove or update incompatible third-party antivirus and security software.
    3. Disconnect unnecessary external devices.
    4. Ensure sufficient disk space and take a full server backup before retrying.
    5. Run Microsoft's SetupDiag tool to identify the cause of the rollback.

    Relevant Microsoft documentation:

    Hope this helps!

    Ronald

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.