Upgrade Paths for CU’s & .NET

2/13/2018: Revised Microsoft upgrade guidance added.
2/15/2018: Added missing CU14
6/25/2018: Added Ex2016CU10 & Ex2013CU21
10/16/2018: Added Ex2016CU11, updated Ex2013CU21
2/20/2019: Added Ex2016CU12, Ex2013CU22 & Ex2019RTM+CU1
4/11/2019: Added statement regarding .NET 4.7 support

7/9/2019: Updated for Ex2016CU13/Ex2013CU23/Ex2019CU2 & NET48
2/13/2018: Revised Microsoft upgrade guidance added.

2/15/2018: Added missing CU14
6/25/2018: Added Ex2016CU10 & Ex2013CU21
10/16/2018: Added Ex2016CU11, updated Ex2013CU21
2/20/2019: Added Ex2016CU12, Ex2013CU22 & Ex2019RTM+CU1
4/11/2019: Added statement regarding .NET 4.7 support

7/9/2019: Updated for Ex2016CU13/Ex2013CU23/Ex2019CU2 & NET48

Microsoft keeps track of the current 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 find out which upgrade path they are required to follow to stay within the boundaries of supported Exchange deployment configurations. For example, you may need to upgrade to a specific Cumulative Update first, that is supported with a newer release of the .NET Framework, in order to be able to upgrade to a later Cumulative Update.

For these situations, the following tables contains the supportability matrix, enhanced with information regarding earlier Cumulative Updates and .NET Framework versions. These will provide you the supported upgrade paths for older versions of Exchange.

Exchange 2019

.NETRTM-CU1CU2
4.7.2XX
4.8X

Exchange 2016

.NETRTM-
CU1
CU2CU3-
CU4
CU5-
CU7
CU8CU9CU10CU11-
CU12
CU13
4.5
4.5.1
4.5.2XXX
4.6.11XX
4.6.2XXXX
4.72
4.7.1XXXX
4.7.2XX
4.8X

Exchange 2013

.NETRTM-
CU3
CU4(SP1)-
CU12
CU13-
CU14
CU15CU16-
CU18
CU19CU20CU21-
CU22
CU23
4.5XXX
4.5.1XXX
4.5.2XXX
4.6.11XX
4.6.2XXXX
4.72
4.7.1XXX
4.7.2XX
4.8X

Notes

  1. When possible, bypass .NET Framework 4.6.1, as it not only requires updating the CU level prior to updating the .NET Framework, but also requires an additional hotfix: kb3146715 (ws2012r2), kb3146714 (ws2012) or kb3146716 (ws2008r2).
  2. .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:

  1. Upgrade to Exchange 2013 Cumulative Update 15
  2. Upgrade .NET Framework to 4.6.2
  3. Upgrade to Exchange 2013 Cumulative Update 19
  4. Upgrade .NET Framework to 4.7.1 (Optional)

Note that in addition to information being refreshed on Microsoft pages, 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 current as possible from a support and security perspective, making the above a non-issue. Reality is, there are customers who have reasons, legitimate or not, to be trailing with updates in their environment, and at some point may need guidance on how to proceed in order to get current. I hope this information helps in those situations.

Thoughts and feedback is welcomed in the comments.

Update: Per 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 install CU19. However, things might break and you may need to contact support to get back in a supported, working situation. Therefor, I repeat my recommendation to download and archive CU’s and .NET Framework files, even when you are not planning on installing them (yet).

59 thoughts on “Upgrade Paths for CU’s & .NET

  1. Pingback: December 2017 Updates Released for Exchange Server

  2. Pingback: Лабиринт обновлений Exchange Server | ILYA Sazonov: ITPro

  3. Pingback: Exchange December 2017 Updates - SuperTekBoy

  4. Pingback: Quick method to determine installed version of .NET Framework | Troubleshooting Exchange

  5. Pingback: Download that new Cumulative Update for Exchange…While you can. – No One Uses Email Anymore

  6. Pingback: Monthly IT Newsletter – November 2017–January 2018 – Guy UC World

  7. Any idea where to still get CU4? MS has pulled it and it is no longer available even though I must update to CU4 and then .net to get to CU8.

    Like

  8. Pingback: Guidance for Solving Outdated Exchange CU and .NET FX Versions

  9. Pingback: You should upgrade to the latest version of .NET that’s supported by Exchange first and then immediately upgrade to the current CU | DigitalBamboo's Blog

  10. Pingback: Yes, Virginia. You can upgrade to the latest Exchange Cumulative Update – even if you aren’t keeping up on those .Net versions! – No One Uses Email Anymore

  11. Pingback: Exchange March 2018 Updates - SuperTekBoy

  12. Pingback: Exchange Updates – March 2018 | EighTwOne (821)

  13. Pingback: Exchange 2016 CU9 and Exchange 2013 CU20 released | Jaap Wesselius

  14. Pingback: .NET Framework 4.7.2 | EighTwOne (821)

  15. Pingback: Exchange June 2018 Updates - 2016 CU10 & 2013 CU21

  16. Pingback: Exchange Updates – June 2018 | EighTwOne (821)

  17. Thank you very much for a great article. This is very helpful, but I have an additional parameter I would like ask about. I have Exchange 2016 CU4 with .NET 4.6.2. My latest Windows update (Windows 2016) was quite a while ago, and I see that the latest Windows update installs .NET 4.7.1. Should I update Exchange to either CU 8 or CU9, install .NET 4.7.1, then update Windows 2016; or should I update Windows using the registry key to prevent automatic installation of .NET 4.7.1 then update Exchange to CU8 or 9, then install .NET 4.7.1?

    Like

    • Per latest policy, you can update to the latest .NET first, then install the latest CU supported for that .NET version (eg 471 and CU10). However, there is still a risk walking an untested path, also when 3rd party software is involved. A safe alternative could indeed be CU8 or 9, NET 471 then CU10. OS updates shouldn’t install NET Framework updates, but there were incidents in the past with Windows Update – hence the reg. key blockers

      Like

  18. Hi Michel, such a great article!! many thanks, very helpful.

    I got a new client with the below scenario:
    Exchange2016
    CU3 currently installed
    planning upgrated to CU10
    VisualC++2013 installed
    executing:
    (Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release
    retrieves 461310 =4.7.1
    Can i proceed with the CU10? is there any risk?

    thanks again!
    Bruno

    Like

    • Microsoft revised its support statement, you are now OK to install NET4.7.1 first on CU3 (which you already did), then apply CU10. However, Microsoft makes no warranties in those untested upgrade paths, but you are on a supported path. Note that ‘risk’ does not always come from Exchange itself but may also involve installed 3rd party software.

      Like

  19. Hello Michel,

    Exchange servers in my organization are running CU 13 With .net version 4.5.2 and I am planning to upgrade to the latest CU 20. But in order to reach CU 20 I need to go to CU 15 upgrade .net to 4.6.2 and then upgrade to CU 20. The problem in this case I can’t get the CU 15 upgrade download any where. Can you help me on how to move ahead!

    Like

  20. We have been running Exchange 2013 CU12 for years and I finally got around to updating to CU21. Came across this article and found our server already had .NET 4.7.2 installed (release 461814) and has been working fine with this combination. According to your matrix this is not at all supported, am I missing something? Are there only certain features of Exchange which rely on .NET that we perhaps don’t use?

    Like

      • Installed CU21 right on top of existing CU12 and no issues so far, all is working normally. No idea when .NET 4.7.2 got installed but seems the server had been running it for some time even with only with CU12. One would think that Windows Update would not automatically roll out an incompatible .NET update if it detects and older version of Exchange installed if there really is an incompatibility?

        Like

        • There have been incidents in the past where .NET Framework upgrades got published as recommended updates which lead to unwanted automatic deployments (in those cases the blockade registry keys are a valuable precaution).

          Like

  21. Pingback: Exchange Updates–October 2018 | EighTwOne (821)

  22. Pingback: Exchange June 2018 Updates - 2016 CU11 (but no 2013?)

  23. Pingback: Exchange Updates – February 2019 | EighTwOne (821)

  24. According to your matrix I am not able to see our current combination:
    Exchange 2013 CU 11 & .Net 4.7.0
    Not sure when .Net is upgraded to 4.7.0
    Our aim is to upgrade Exchange 2013 to CU22
    Do you have any suggestion on possible upgrade path?

    Thanks

    Like

  25. Hi Michel,
    Due to some unknown reason one of my CAS and one mail Mailbox server are now with dot net 4.7.2, reset are on dot net frame work 4.7.1,.
    Currently we are on CU 20, and want to move to CU22
    So which will be the best and safest approach,
    update rest of servers to dot net 4.7.2 and then upgrade to CU22
    or
    upgrade to CU 22 and then update dot-net frame work 4.7.2 on rest of servers.
    Thanks.

    Like

  26. Pingback: Exchange Updates – June 2019 | EighTwOne (821)

  27. Pingback: .NET Versions and Exchange | Just A UC Guy

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s