How to Do an In-Place Upgrade to Windows Server 2025 (from 2016, 2019 and 2022)

You can upgrade Windows Server 2016, 2019 and 2022 directly to Windows Server 2025 in place by running setup.exe from the 2025 ISO and choosing “Keep files, settings, and apps”. Servers on 2019 or 2022 can also take it as an optional feature update through Windows Update. Clusters, domain controllers and edition downgrades need a […]

In-place upgrade to Windows Server 2025: DISM listing install.wim editions

You can upgrade Windows Server 2016, 2019 and 2022 directly to Windows Server 2025 in place by running setup.exe from the 2025 ISO and choosing “Keep files, settings, and apps”. Servers on 2019 or 2022 can also take it as an optional feature update through Windows Update. Clusters, domain controllers and edition downgrades need a different approach.

An in-place upgrade keeps the same server, roles, settings and data, which makes it the quick alternative to building a new server and moving workloads across. If you would rather rebuild and migrate, work through the Windows Server 2025 migration checklist instead.

Supported upgrade paths to Windows Server 2025

Windows Server 2025 changed the rules on version jumps. Nonclustered servers can now upgrade up to four versions at a time, so anything from Windows Server 2012 R2 onwards goes straight to 2025 in one hop. Older releases were limited to two versions at a time, and cluster rolling upgrades are still limited to one version at a time.

Upgrade fromTo 2025 with ISO / setup.exeTo 2025 via Windows Update
Windows Server 2012 R2YesNo
Windows Server 2016YesNo
Windows Server 2019YesYes (needs the March 2026 CU or later)
Windows Server 2022YesYes (needs the March 2026 CU or later)

Edition rules are just as important as the version:

Current editionSupported target editions on 2025
StandardStandard, Datacenter or Datacenter: Azure Edition
DatacenterDatacenter or Datacenter: Azure Edition (no downgrade to Standard)
Datacenter: Azure EditionDatacenter: Azure Edition only (no downgrade to Standard or Datacenter)

By default the upgrade keeps your existing edition. Microsoft also lists these hard restrictions:

  • No switching between Server Core and Desktop Experience during the upgrade. If you are unsure which you have or want, see Server Core vs Desktop Experience.
  • No language changes. An English (United States) install needs English (United States) media, so do not grab en-GB media for an en-US server.
  • No upgrading to an evaluation copy. Evaluation versions must be clean installs.
  • No upgrades from preview builds, Windows Storage Server editions, or servers that boot from VHD.
  • A domain controller cannot be converted to a retail licence.

Before you start: pre-upgrade checklist

Work through this list on every server.

Backups and a tested restore

Take a full backup of the operating system, applications and data, store it off the server, and actually test a restore. Microsoft’s own guidance is blunt that the upgrade can fail. For a virtual machine, take a checkpoint or snapshot as well. If you are responsible for a number of client or site backups, a backup health report is a quick way to confirm jobs are actually succeeding before you rely on them.

Capture the current state

Record the build, edition and network configuration and copy the output somewhere you can reach if the server does not come back:

Get-ComputerInfo -Property WindowsBuildLabEx,WindowsEditionID | Out-File -FilePath .\computerinfo.txt
systeminfo.exe | Out-File -FilePath systeminfo.txt
ipconfig /all | Out-File -FilePath ipconfig.txt

Hardware and disk space

Windows Server 2025 needs a 1.4 GHz 64-bit CPU with SSE4.2 and POPCNT support, plus at least 2 GB RAM and 32 GB of disk as an absolute minimum. In practice Microsoft recommends 30 to 40 GB free on the system drive and names low free space as the leading cause of in-place upgrade failures. Check it first:

Get-Volume -DriveLetter C | Select-Object DriveLetter, @{n='FreeGB';e={[math]::Round($_.SizeRemaining/1GB,1)}}

Roles that block or need care

  • Domain controllers: Microsoft advises against in-place upgrades of DCs. It is technically possible, but you miss the AD performance and feature improvements in 2025. Build new 2025 DCs, let them replicate, then demote the old ones. The domain controller decommissioning guide covers the demotion side. If you do upgrade a DC in place, you must run adprep /forestprep once per forest and adprep /domainprep once in each affected domain first. Promoting a new 2025 DC through Server Manager runs adprep for you.
  • Failover clusters: do not upgrade a node in isolation. Use a cluster OS rolling upgrade or Cluster-Aware Updating, one version at a time.
  • Hyper-V hosts: shut down or move every VM. No VMs should be running during the upgrade.
  • Guests on VMware or other hypervisors: update the guest tools and drivers before upgrading. Microsoft says outdated virtualisation drivers are a common cause of support calls.
  • NIC Teaming: disable it before the upgrade and re-enable it afterwards.
  • Roles without in-place support: Microsoft’s matrix lists Print and Fax Services and AD FS as not upgradeable in place, so migrate those.
  • Applications: confirm each vendor supports Windows Server 2025, then stop applications and services before the backup and upgrade.
# Hyper-V host: shut down all running VMs
Get-VM | Where-Object State -eq 'Running' | Stop-VM

# Record any LBFO NIC team before removing it
Get-NetLbfoTeam | Format-List *

Licensing and activation

Unlike Windows client, each Windows Server upgrade needs its own licence. Volume licence customers with active Software Assurance have upgrade rights. Retail and OEM customers need to buy a Windows Server 2025 key. If you use KMS, make sure the KMS host has been loaded with a valid Windows Server 2025 key before you start, otherwise upgraded servers will not activate.

Step-by-step: upgrade using the ISO and setup.exe

This is the method that works for all source versions (2012 R2, 2016, 2019 and 2022). Plan for about an hour per server, though Microsoft warns it can take several hours. The server restarts several times.

GUI upgrade

  1. Mount the Windows Server 2025 ISO (right-click, Mount) and run setup.exe from the root of the drive, for example D:\setup.exe. Accept the UAC prompt.
  2. Setup offers to download updates. Leave the default and click Next, or choose Change how Setup downloads updates if the server has no internet access.
  3. Enter your product key if prompted.
  4. Select the edition. Match the installation type you already have: pick a Desktop Experience image for a GUI server, or the plain image for Server Core.
  5. Accept the licence terms.
  6. Choose Keep files, settings, and apps. This is the option that makes it an in-place upgrade. The other option wipes the server.
  7. Review any compatibility warnings. On the Ready to install screen, click Install.
  8. After the final restart, choose your diagnostic data setting and sign in.

To see which editions and image indexes are on the media before you start:

dism /Get-WimInfo /WimFile:D:\sources\install.wim

Unattended upgrade with setup.exe switches

Microsoft’s own Azure upgrade procedure uses this command line for Windows Server, and it works the same way on-premises from an elevated PowerShell prompt in the root of the media:

.\setup.exe /auto upgrade /dynamicupdate disable /eula accept
  • /auto upgrade keeps apps and data and exits if an upgrade is not possible.
  • /dynamicupdate disable stops Setup downloading updates. Use enable if the server has internet access and you want the latest setup fixes.
  • /eula accept accepts the licence terms so the upgrade does not stall waiting for input.
  • /pkey xxxxx-xxxxx-xxxxx-xxxxx-xxxxx supplies a product key.
  • /copylogs <path> copies compressed logs to a local or UNC path if Setup fails.

You can also run a compatibility scan only, without upgrading, using /compat scanonly. Setup exits with a code instead of installing, and 0xC1900210 means no compatibility issues were found:

$p = Start-Process -FilePath 'D:\setup.exe' -ArgumentList '/auto upgrade /quiet /compat scanonly /eula accept /copylogs C:\Temp\UpgradeLogs' -Wait -PassThru
'0x{0:X}' -f $p.ExitCode
# 0xC1900210 = no issues found
# 0xC1900208 = compatibility issue to fix first
# 0xC190020E = not enough free disk space

Test the unattended command on a lab server first. If the media holds several images your key could match, Setup may still ask you to choose one.

Upgrading via Windows Update (feature update)

Microsoft now supports the upgrade as an opt-in feature update for Windows Server 2019 and 2022 only. Windows Server 2016 and 2012 R2 must use the ISO. Requirements:

  • Windows Server 2022 with KB5078766 (2026-03 cumulative update) or later.
  • Windows Server 2019 with KB5078752 (2026-03 cumulative update) or later.
  • The opt-in registry value below, set manually or through Group Policy.
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AllowWindowsServerFeatureUpdate"
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AllowWindowsServerFeatureUpdate" -Name "AllowWindowsServerFeatureUpdate" -PropertyType DWord -Value 1

On Desktop Experience, open Settings, Windows Update, click Download and install on the Windows Server 2025 banner, read the Important Information dialog and click Accept and install. On Server Core, run sconfig, choose option 6 (Install updates), then 3 (Feature updates) and answer Y.

One warning: in November 2024 some servers upgraded to 2025 unexpectedly because third-party patch tools treated the feature update as a normal update. Microsoft publishes it as Optional, so check your RMM or patch tool is set not to push feature updates. Also check Group Policy, because Microsoft notes that in some configurations non-administrative users can install Windows Updates.

Post-upgrade checks

  1. Confirm the version and edition.
  2. Check activation, and activate with KMS, AD-based activation or MAK if needed.
  3. Install the latest cumulative update and restart.
  4. Check automatic services, applications and client connections.
  5. Re-enable NIC Teaming and any antivirus or firewall software you disabled.
  6. On Hyper-V hosts, start the VMs and consider updating the VM configuration version once you are sure you will not move them back to an older host.
  7. Once everything is confirmed working, delete Windows.old to reclaim space, and remove any VM checkpoints.
Get-ComputerInfo -Property WindowsProductName
slmgr /dlv
Get-Service | Where-Object { $_.StartType -eq 'Automatic' -and $_.Status -ne 'Running' }
Update-VMVersion -Name 'VMName'

Rollback options

If Setup fails part way through, it rolls back to the previous installation, and the rollback logs are kept for troubleshooting. Once the upgrade has completed, Microsoft’s guidance for a server that is not working is to restore it from backup or from the VM snapshot. Keep the checkpoint or snapshot until applications have been signed off, then remove it so it does not grow and hurt performance.

Troubleshooting a failed upgrade

The key logs are setupact.log (most useful) and setuperr.log. Their location depends on how far Setup got. These folders are hidden by default:

Setup phaseLog location
Down-level (before first restart)C:\$Windows.~BT\Sources\Panther
RollbackC:\$Windows.~BT\Sources\Rollback
OOBEC:\$Windows.~BT\Sources\Panther\UnattendGC
After the upgradeC:\Windows\Panther

Microsoft’s SetupDiag tool parses these logs and usually points straight at the cause. Common blockers:

  • Low free disk space on the system drive.
  • Media in a different language from the installed OS.
  • Choosing a Core image for a Desktop Experience server, or the reverse.
  • Trying to go from Datacenter to Standard.
  • NIC Teaming still enabled, or the server is a cluster node.
  • A CPU without SSE4.2 or POPCNT support.
  • Old third-party hypervisor guest drivers or incompatible applications flagged in the compatibility report.

If the feature update does not appear in Windows Update, check the cumulative update level and that the registry value is present.

FAQ

Can you upgrade Windows Server 2016 straight to 2025?

Yes. Nonclustered servers can jump up to four versions with 2025, so 2016 (and even 2012 R2) goes directly to 2025 using the ISO. The Windows Update route is only for 2019 and 2022.

Do you need a new licence for Windows Server 2025?

Yes, each Windows Server version needs its own licence. Volume licence customers with active Software Assurance already have upgrade rights. Retail and OEM customers need to buy a 2025 key.

Should you upgrade a domain controller in place?

Microsoft recommends against it. Deploy new 2025 domain controllers, let them replicate, demote the old ones, then raise the functional levels once every DC is on the new version.

Can you change from Standard to Datacenter during the upgrade?

Yes. Standard can move up to Datacenter or Datacenter: Azure Edition during the upgrade. You cannot go down from Datacenter to Standard.

Will Windows Update upgrade servers to 2025 automatically?

It should not. Microsoft offers it as an optional, opt-in update that needs the registry value set. Earlier unexpected upgrades came from third-party patch tools treating the update as recommended, so check how yours handles feature updates.


Discover more from TechyGeeksHome

Subscribe to get the latest posts sent to your email.

Andrew Armstrong

Andrew Armstrong is a UK-based IT professional with 26+ years of hands-on experience in Windows, Windows Server, SCCM/ConfigMgr, Intune, Active Directory, PowerShell and enterprise infrastructure.

He founded TechyGeeksHome in 2010 and has published 770+ practical guides to real-world IT problems. He also builds free Windows utilities, including Ultimate Settings Panel, which has been downloaded over 850,000 times.

Leave a Reply

Your email address will not be published. Required fields are marked *