7/7/2025: Added note.
Microsoft keeps track of the currently supported combinations of .NET Framework and Exchange Cumulative Updates at the Exchange Server Supportability Matrix. However, as time progresses, support information on older Cumulative Updates might be removed from the information presented, and you may need to resort to cached versions of this page or other sources to find this information.
This might be problematic for organizations that are not current and need to determine which upgrade path to stay within the boundaries of supported Exchange deployment configurations. For example, you may need to upgrade to a specific Cumulative Update first, supported by a newer release of the .NET Framework, to upgrade to a later Cumulative Update.
For these situations, the following tables contain the supportability matrix, enhanced with information regarding earlier Cumulative Updates and .NET Framework versions. These will provide you with the supported upgrade paths for older versions of Exchange.
Note: In-place upgrades of the operating system on which Exchange Server runs are not supported and will not work. Also, keep in mind that you cannot mix nodes within the same Database Availability Groups concerning the operating system. New operating system = new Exchange Server installation = new Database Availability Group.
Exchange 2019
| .NET | RTM-CU1 | CU2-CU3 | CU4-CU13 | CU14-CU15 |
|---|---|---|---|---|
| 4.7.2 | X | X | – | – |
| 4.8 | – | X | X | – |
| 4.8.1 | – | – | X | X |
Exchange 2016
| .NET | RTM- CU1 | CU2 | CU3- CU4 | CU5- CU7 | CU8- CU9 | CU10 | CU11- CU12 | CU13- CU14 | CU15- CU23 |
|---|---|---|---|---|---|---|---|---|---|
| 4.5 | – | – | – | – | – | – | – | – | – |
| 4.5.1 | – | – | – | – | – | – | – | – | – |
| 4.5.2 | X | X | X | – | – | – | – | – | – |
| 4.6.11 | – | X | X | – | – | – | – | – | – |
| 4.6.2 | – | – | X | X | X | – | – | – | – |
| 4.72 | – | – | – | – | – | – | – | – | – |
| 4.7.1 | – | – | – | – | X | X | X | – | – |
| 4.7.2 | – | – | – | – | – | – | X | X | – |
| 4.8 | – | – | – | – | – | – | – | X | X |
Exchange 2013
| .NET | RTM- CU3 | CU4(SP1)- CU12 | CU13- CU14 | CU15 | CU16- CU18 | CU19- CU20 | CU21- CU22 | CU23 |
|---|---|---|---|---|---|---|---|---|
| 4.5 | X | X | X | – | – | – | – | – |
| 4.5.1 | – | X | X | X | – | – | – | – |
| 4.5.2 | – | X | X | X | – | – | – | – |
| 4.6.11 | – | – | X | X | – | – | – | – |
| 4.6.2 | – | – | – | X | X | X | – | – |
| 4.72 | – | – | – | – | – | – | – | – |
| 4.7.1 | – | – | – | – | – | X | X | – |
| 4.7.2 | – | – | – | – | – | – | X | X |
| 4.8 | – | – | – | – | – | – | – | X |
Notes
- When possible, bypass .NET Framework 4.6.1, as it not only requires updating the CU level before updating the .NET Framework, but also requires an additional hotfix: kb3146715 (ws2012r2), kb3146714 (ws2012) or kb3146716 (ws2008r2).
- .NET Framework 4.7 is not supported for any product level.
Usage
Suppose your organization loves procrastinating, and you are running Exchange 2013 CU6. Luckily, you run it on .NET Framework 4.5.1, which was already a supported configuration back in 2014 – yes, it’s been that long. Looking at the table, to get current with a minimal number of updates in mind, you can derive the following path:

The upgrade path to CU19 would therefor be:
- Upgrade to Exchange 2013 Cumulative Update 15
- Upgrade .NET Framework to 4.6.2
- Upgrade to Exchange 2013 Cumulative Update 19
- Upgrade .NET Framework to 4.7.1 (Optional)
Note that in addition to information being refreshed on Microsoft pages, the availability of older Cumulative Updates or .NET Framework updates might also change, so archive those files accordingly, if not for recovery of existing Exchange servers, then for this exact purpose.
Of course, you should stay as current as possible from a support and security perspective, making the above a non-issue. The reality is, some customers have reasons, legitimate or not, to be trailing with updates in their environment, and at some point may need guidance on how to proceed to get current. I hope this information helps in those situations.
Thoughts and feedback are welcome in the comments.
Update: On February 13th, Microsoft updated upgrade guidance on the Exchange Supportability Matrix page, stating:
“When upgrading Exchange from an unsupported CU to the current CU and no intermediate CUs are available, you should upgrade to the latest version of .NET that’s supported by Exchange first and then immediately upgrade to the current CU. This method doesn’t replace the need to keep your Exchange servers up to date and on the latest, supported CU. Microsoft makes no claim that an upgrade failure will not occur using this method, which may result in the need to contact Microsoft Support Services”.
This means you will be supported when upgrading in the revised upgrade path, but the risk is still there. In the example above, when going from Exchange 2013 CU6 with .NET 4.5.1 to CU19, the support statement indicates you can upgrade to .NET Framework 4.7.1, when installing CU19. However, things might break, and you may need to contact support to get back into a supported, working situation. Therefore, I repeat my recommendation to download and archive CU’s and .NET Framework files, even when you are not planning on installing them (yet).
Pingback: Zero Day Vulnerabilities Discovered in all Versions of Microsoft Exchange Server | Jaap Wesselius
Great gudies,thanks.
I will plan to update Exchange 2013 CU7 to CU23 with .Net 4.8.0 installed at first,then need to update KB5000871 for these CVEs 😦
CVE-2021-26855,CVE-2021-26857,CVE-2021-26858,CVE-2021-27065
LikeLike
Pingback: Security Update Exchange 2010-2019 (Mar2021) | EighTwOne (821)
It would be wonderful if Microsoft made available some of the older CU’s instead of having to call support to get them in the midst of a bunch of zero day attacks. I guess the choice is either risk getting compromised or risk blowing up a server and in either case, don’t call Micro$oft for at least a week. What a joke.
LikeLike
Why you need older CU’s in the first place? What is the business justification for trailing so much?
LikeLike
Some admins have more to worry about than just exchange. I had assumed installing regular updates meant the exchange server was updated. Stupid probably, but again, exchange is one of many applications in my environment. From what I understand, having the latest CU with all the security updates would have meant being completely vulnerable up until Wednesday of this week anyway.
LikeLike
Vulnerable for HAFNIUM; you’re forgetting all the exploits fixed between CUx and current ones. For this reason I always recommend business to archive those CU’s, whether they install them directly, skip them or not. You also don’t want to encounter unexpected challenges during recovery scenarios.
LikeLike
Pingback: URGENT: Zero Day Vulnerabilities for Exchange Server – Dine.ga
Michel, we have a client on 2016 RTM running 4.6.2 (unsupported however functional). We need to take them to CU19 urgently. What would you propose? Straight upgrade to CU19 and then install .NET 4.8? Or try to obtain ISOs and move to the supported CU for 4.6.2 first?
Thanks
LikeLike
Hi Michel. I run exchange 2013 DAG with two mailbox servers and a CAS. currently on CU5 installed on .net 4.6.1. whats the best upgarde path to CU23?
LikeLike
Tested upgrade path should be through: Ex2013CU5/NET461 -> Ex2013CU15/NET461 -> Ex2013CU15/NET462 -> Ex2013CU20/NET462 -> Ex2013CU20/NET471 -> Ex2013CU22/NET472 -> Ex2013CU23/NET472 -> Ex2013CU23/NET48.
However, obtaining intermediate CUs would be a challenge as out of support CUs are not available through regular download channels without contacting support.
Supported upgrade path would therefor be: Ex2013CU5/NET461->Ex2013CU23/NET48, where you upgrade NET first immediately followed by installing the CU, per MS support statement (pls read): “When upgrading Exchange from an unsupported CU to the current CU and no intermediate CUs are available, you should upgrade to the latest version of .NET that’s supported by Exchange first and then immediately upgrade to the current CU. Microsoft makes no claim that an upgrade failure will not occur using this method, which may result in the need to contact Microsoft Support Services”.
LikeLike
Pingback: EighTwOne (821)
Pingback: Exchange Updates – March 2021 | EighTwOne (821)
Hi Michel, have an exchange 2016 CU5 (.net 4.6.2) that I want to take to CU20 (.Net 4.8). According to your tables I would need to update to CU8 or CU9 then update .Net to 4.7.1 at this point i could update to CU11 or CU12. I would then update >net to 4.7.2 and CU14. At my final stage i would need to update .Net to 4.8 and CU20. Just asking for a confirmation I am following the chart correctly. Thanks.
LikeLike
This would indeed be the validated path: Ex2016CU5+NET462 -> CU8/9 -> NET4.7.1 -> CU11/12 -> NET472 -> CU13/14 -> NET 4.8 -> CU20
However, MS now supports upgrading from an unsupported CU to current CU by upgrading to latest .NET version supported by Exchange first, then immediately upgrade to the current CU. These paths are not only to cut installation short, but also because interim CUs become unavailable over time. Do note these paths are not tested and “Microsoft makes no claim that an upgrade failure will not occur using this method, which may result in the need to contact Microsoft Support Services”.
LikeLike
So I could go to .Net 4.8 and CU20 from CU5 on Exchange 2016…But if i have issues i would need to contact MS support?
LikeLike
Correct (statement at https://docs.microsoft.com/en-us/Exchange/plan-and-deploy/supportability-matrix?redirectedfrom=MSDN&view=exchserver-2019#microsoft-net-framework). Also, be prepared for the worst (e.g. reinstall)
LikeLike
Pingback: Exchange Updates – June 2021 | EighTwOne (821)
Hi,
Can you update the information for the latest CU’s and requirements?
Thank you.
LikeLike
Pingback: Exchange Updates – September 2021 | EighTwOne (821)
Pingback: Exchange Updates (and more) – H1 2022 | EighTwOne (821)
Pingback: Exchange 2016, CU Updatepath / .NET kompatibilität | Gumpert IT Wiki
Pingback: Exchange Updates (and more) – H1 2023 | EighTwOne (821)
Hello. in this year 2023. Can i install .net framework version 4.6.2 on a windows server 2008 r2 server with exchange 2010 sp3 installed? I can’t find that information. Thanks
LikeLike
Exchange 2010 uses .NET 3.5, so whether you can install .NET 4.x or not is irrelevant. It’s tested in combination with .NET 4.5, see Supported combinations of Ex2010, .NET and WS can be found at https://learn.microsoft.com/en-us/exchange/plan-and-deploy/supportability-matrix?view=exchserver-2019#exchange-2010-sp3
LikeLike
Pingback: Exchange 2019 CU14 (2024 H1) | EighTwOne (821)
Pingback: Change 2019 CU14 (2024 H1) - Techbrusts
Pingback: Exchange 2019 CU15 (2025 H1) | EighTwOne (821)