Fix it now
Error 1638 is ERROR_PRODUCT_VERSION: Windows Installer found another version of the same product registered and stopped before touching a file. On an Exchange server that almost always means the package you launched is the same as or older than the installed build, or belongs to a different Exchange version altogether.
Get-Command Exsetup.exe | ForEach-Object {$_.FileVersionInfo}
Get-ExchangeServer | Format-List Name,Edition,AdminDisplayVersion
winver
- Compare the installed build with the build on the package you are running. Exchange only moves forward: if the package is the same or older, stop, because the installer is right.
- Confirm the package matches the product. An Exchange 2016 CU will not install over Exchange 2019, and neither installs over Exchange Server SE.
- If you meant to move to Exchange Server SE, check the route. Microsoft supports an in-place upgrade only from Exchange Server 2019 CU14 or CU15; from Exchange 2016 or earlier it is a legacy upgrade, meaning a new server and a mailbox move.
- If you are already on the newest CU for your version, you want the current security update instead. Those install over a matching CU and are not full builds.
- Run
Setup.exefrom an elevated Command Prompt rather than double-clicking it, so you can read the failure and the log path.
Error 1633 (0x80070661) is a different refusal: ERROR_INSTALL_PLATFORM_UNSUPPORTED, the package is not supported on this platform. On Exchange that usually means the operating system underneath, not the processor.
If the correct package installs, you are done. If you have run out of packages that will install, the next two sections explain why and what the options actually are.
Why it happens
1638 is the installer’s product-version check. Every installed product registers an upgrade code and a version, and every package declares which versions it may replace. Where the package’s rules do not cover what is already present, Windows Installer refuses before writing anything. Microsoft’s published text is blunt: another version of this product is already installed, and installation of this version cannot continue.
Exchange runs into this more than most products because cumulative updates are full builds. A CU is the entire product rather than a patch layered onto the last one, and installing it is an in-place upgrade of the whole server. You may reinstall the same build as a repair, and you may move to a newer one. You may not go backwards, and the installer enforces that by refusing rather than warning.
1633 says something different and is worth separating. ERROR_INSTALL_PLATFORM_UNSUPPORTED means the package is not supported on this platform; 0x80070661 is the same code carried as an HRESULT. Exchange has been 64-bit only for years, so a true processor mismatch is rare. Far more often the file belongs to a different Exchange version, or the build does not support the Windows Server release underneath it. Exchange Server SE is supported on Windows Server 2019, 2022 and 2025, with .NET Framework 4.8 or 4.8.1, and Microsoft does not support an in-place upgrade of the operating system with Exchange installed.
There is one more thing the installer will not tell you: whether a newer package exists at all. Once a version leaves support, the last CU published for it is the last one there will ever be, and 1638 on that server is not a fault to configure around.
The package is the same as or older than the installed build
You have this one if The build from Get-Command Exsetup.exe is equal to or higher than the CU number on the file you downloaded.
- Record the installed build properly rather than from memory.
- Download the current cumulative update for the version you are actually running.
- If you are already on the latest CU, install the current security update for it instead. Security updates install over a matching CU.
- To repair rather than advance, rerun the same CU package in upgrade mode. Same-version reinstalls are allowed where downgrades are not.
The package belongs to a different Exchange version
You have this one if The file and the installed product do not match at all – an Exchange 2016 CU launched on a 2019 server, or a 2019 CU on Exchange Server SE.
- Read the version and the build together:
Get-ExchangeServer | Format-List Name,Edition,AdminDisplayVersionnames the version,Get-Command Exsetup.exegives the build. - Download the package built for that version. Cumulative updates are never cross-version.
- Check the Windows Server release with
winveragainst the operating systems Microsoft lists for that build. A newer Windows Server is not automatically included. - If you meant to move between versions, that is an upgrade project rather than an update.
An earlier failed run left the product half registered
You have this one if The reported build matches neither the old CU nor the new one cleanly, and an earlier setup log ends in a rollback.
- Read
C:\ExchangeSetupLogs\ExchangeSetup.logfrom the bottom and find where the previous run stopped. - Fix what stopped it – usually a service that would not start, a pending reboot, or a .NET Framework version mismatch.
- Reboot so pending file operations complete.
- Resume rather than restart: run the same package again with
/Mode:Upgradefrom an elevated Command Prompt.
The installed version has reached the end of its servicing life
You have this one if You go looking for a newer CU and there is not one. The last update published for your version is already installed.
- Confirm the version and its support state before planning anything else.
- Check the route to Exchange Server SE. In-place upgrade is supported from Exchange Server 2019 CU14 or CU15 only.
- From Exchange 2016 or earlier, plan a legacy upgrade: a new server in the same organisation, mailboxes moved with
New-MoveRequest, namespaces and certificates repointed, then the old server decommissioned. - Check coexistence before you build. Exchange SE RTM setup refuses to coexist with Exchange 2013, and SE CU2 setup refuses to coexist with any Exchange version out of support when it was released.
An unsupported Exchange server keeps working, which is exactly why they linger. It stops receiving security updates, which is why they should not.
Full reference
Matching the message to the situation
| What you see | What it usually means |
|---|---|
| 1638 and the installed build is newer | You are trying to go backwards, which is never supported |
| 1638 and the installed build is identical | The CU is already applied. You probably want the matching security update |
| 1638 after a CU failed earlier | A partly registered install from the aborted run is still present |
| 1633 or 0x80070661 | Wrong package for this platform: wrong Exchange version, or an unsupported host operating system |
| No CU newer than your build exists | The version has reached the end of servicing |
The two routes to Exchange Server SE
| Starting point | Supported route | What it involves |
|---|---|---|
| Exchange Server 2019 CU14 or CU15 | In-place upgrade | Install SE over the existing installation, in the same way as applying a cumulative update |
| Exchange Server 2019 on an earlier CU | Get to CU14 or CU15 first, then in place | Two steps, both of them ordinary setup runs |
| Exchange Server 2016 or earlier | Legacy upgrade | Add an SE server to the organisation, move mailboxes and resources, then uninstall the old servers |
Two coexistence rules matter when you plan this. Exchange Server SE RTM setup prevents coexistence with Exchange Server 2013. From Exchange Server SE CU2, setup refuses to coexist with any version of Exchange that is not supported at the time of that release. Both are enforced by setup rather than advised, so a plan that assumes otherwise stops at the readiness checks.
Product keys and licensing under SE
Exchange Server SE RTM does not require a new product key: a server that has been upgraded in place or through a legacy upgrade continues to function. Microsoft has said that a future cumulative update introduces a product key requirement, so treat the key as something to have ready rather than something you will never need.
The commercial model is unchanged. A server licence is assigned for each running instance of the server software, with Standard supporting 1 to 5 mailbox databases and Enterprise 1 to 100. A Client Access Licence is required for each user or device that accesses the server, in Standard and Enterprise forms, where the Enterprise CAL is an add-on that requires a Standard CAL alongside it.
Platform requirements, because 1633 is about them
- Exchange Server SE runs on Windows Server 2019, 2022 or 2025, in either the Desktop Experience or Server Core installation option.
- It requires .NET Framework 4.8.1, or 4.8 as the alternative, on Windows Server 2022 and 2025.
- Only the PowerShell version included with Windows Server is supported. Windows Management Framework add-ons are not.
- An in-place upgrade of Windows Server between major versions with Exchange installed is not supported, so a platform move means a new server.
Do not uninstall Exchange to clear error 1638. Removing the last Exchange server from an organisation takes recipient management for the whole directory with it, and the recovery from that point is a restore rather than a reinstall.
When you are stuck between builds
The awkward case is a server whose reported build does not match anything you can download, usually after an aborted run. Do not go hunting for an exact-match package. Read the setup log, fix the thing that stopped the previous run, reboot, and rerun the same package in upgrade mode. Setup is designed to resume, and resuming is far safer than trying to reconcile a version number by installing something else on top.
When a licence is the actual fix
If your version has left support, the licence genuinely is the fix and no amount of package hunting changes it. There is no cumulative update to install because Microsoft has stopped writing them for that build, and an internet-facing mail server with no route to security updates is the real exposure you are carrying. The destination is Exchange Server Subscription Edition. Microsoft licenses it as before: a server licence for each running instance, with Standard supporting 1 to 5 mailbox databases and Enterprise 1 to 100, plus a Client Access Licence for each user or device, where the Enterprise CAL is an add-on that sits on top of a Standard CAL. Arco supplies Exchange Server SE Standard and the matching CALs. Before you order, work out which route you are on: from Exchange Server 2019 CU14 or CU15 this is an in-place upgrade on the hardware you have, while from Exchange 2016 or earlier it is a new server and a mailbox migration, and the two cost very different amounts of your time.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
1638 |
ERROR_PRODUCT_VERSION: another version of this product is already installed, and installation of this version cannot continue | Microsoft Learn |
1633 |
ERROR_INSTALL_PLATFORM_UNSUPPORTED: this installation package is not supported on this platform | Microsoft Learn |
0x80070661 |
Win32 error 1633 carried as an HRESULT. The same platform refusal | Microsoft Learn |
Confirm the fix worked
Get-Command Exsetup.exe | ForEach-Object {$_.FileVersionInfo}reports the build you intended to reach.Test-ServiceHealthshows no required service missing.C:\ExchangeSetupLogs\ExchangeSetup.logends in success rather than a rollback.- OWA and the admin centre open, and a test message goes in and out.
- On a DAG member, the server is out of maintenance mode and its database copies are healthy again.
Questions people ask about this
Is there a free way past this?
If your version is still in support, yes: download the correct cumulative update and the error disappears at no cost. If it is out of support there is nothing free to install, because no newer package exists to install.
Can I upgrade Exchange 2016 in place to the current version?
No. Microsoft supports an in-place upgrade to Exchange Server SE only from Exchange Server 2019 CU14 or CU15. From Exchange 2016 or earlier the route is a legacy upgrade: a new server in the same organisation, mailboxes moved across, then the old servers uninstalled.
Do I need CALs as well as the server licence?
Yes. Microsoft’s licensing for Exchange Server SE assigns a server licence to each running instance and requires a Client Access Licence for each user or device that accesses it. The Enterprise CAL is an add-on and requires a Standard CAL as well.
Will I need a new product key for Exchange Server SE?
Not for SE RTM: Microsoft states that a server continues to function after a legacy or in-place upgrade without a new key. Microsoft has also said a product key requirement arrives in a future cumulative update, so plan on having one to hand.
Can I run Exchange SE alongside what I have now?
It depends what you have. SE RTM setup blocks coexistence with Exchange 2013 outright, and from SE CU2 setup blocks coexistence with any Exchange version that is out of support at that release. Check your current version against those rules before you design the migration.
