You are migrating mailboxes to Office 365, and the following error message is showing: MigrationPermanentException:…
Update .NET Framework in Exchange Server
We like to update .NET Framework in Exchange Server 2013/2016/2019 because we want to install Exchange Cumulative Update. What is the best approach to update .NET Framework in Exchange Server? Do we first update .NET Framework or run the Exchange Cumulative Update? These questions are asked a lot.
Many Exchange admins have seen Exchange Servers break and not work after a Cumulative Update. This article will teach you how to update .NET Framework when updating Cumulative Updates in Exchange Server.
Table of contents
Introduction
It’s important to know that .NET Framework is a must for Exchange Server. When installing Cumulative Updates on Exchange 2013/2016/2019, we sometimes have to update .NET Framework. However, that is not always the case. Sometimes you can run the Cumulative Update without updating .NET Framework. Yes, we can download .NET Framework for free.
What Microsoft is saying about .NET Framework:
When upgrading Exchange Server from an unsupported CU to the current CU and no intermediate CUs are available, you should first upgrade to the latest version of .NET that’s supported by your version of Exchange Server 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.
Keep .NET Framework and Exchange Server up to date
Keep your Exchange Server up to date so that you don’t have to carry out a longer update path. I recommend downloading the Exchange CU ISO when it’s available and save it to the hard disk. Microsoft does remove older Exchange CUs when newer versions are released. When saving the Exchange CU ISO, you can always carry out the upgrade path. You can use an unofficial website to download an older Exchange CU.
How to update .NET Framework and Exchange Server Cumulative Update
Don’t immediately update when a .NET Framework version or Exchange Server version is released. Always wait and check if bugs are rising. Don’t forget to always test the Exchange Server CU in a test environment before updating it in production.
I made a flowchart that will show the procedure on how to update .NET Framework and Exchange Server Cumulative Update for:
- Exchange Server 2013
- Exchange Server 2016
- Exchange Server 2019
To keep it simple, keep these two steps in mind when planning the update path:
- Update to the last Exchange version that is supported by the .NET Framework (blue arrow)
- Update to the last .NET Framework that is supported for the Exchange Server (green arrow)
Keep updating till you’re on the version that you want to be. It will most likely be the last released Exchange version.
Exchange Server 2013
Let’s have an example with the following company called EXOIP. The company is currently running Exchange Server 2013 CU10 and .NET Framework 4.5.1. They want to update to the latest Exchange Server version, which is Exchange Server 2013 CU23. Let’s look at how to do that without breaking the Exchange Server.
The Exchange 2013 upgrade compatibility path will be:
- Upgrade to Exchange 2013 CU15
- Upgrade .NET Framework to 4.6.2
- Upgrade to Exchange 2013 CU20
- Upgrade .NET Framework to 4.7.1
- Upgrade to Exchange 2013 CU22
- Upgrade .NET Framework to 4.7.2
- Upgrade to Exchange 2013 CU23
- Upgrade .NET Framework to 4.8
Exchange Server 2016
Let’s have an example with the following company called EXOIP. The company is currently running Exchange Server 2016 CU3 and .NET Framework 4.6.1. They want to update to the latest Exchange Server version, which is Exchange Server 2016 CU23. Let’s look at how to do that without breaking the Exchange Server.
The Exchange 2016 upgrade compatibility path will be:
- Upgrade to Exchange 2016 CU4
- Upgrade .NET Framework to 4.6.2
- Upgrade to Exchange 2016 CU9
- Upgrade .NET Framework to 4.7.1
- Upgrade to Exchange 2016 CU12
- Upgrade .NET Framework to 4.7.2
- Upgrade to Exchange 2016 CU14
- Upgrade .NET Framework to 4.8
- Upgrade to Exchange 2016 CU23
Exchange Server 2019
Let’s have an example with the following company called EXOIP. The company is currently running Exchange Server 2019 CU1 and .NET Framework 4.7.2. They want to update to the latest Exchange Server version, which is Exchange Server 2019 CU12. Let’s have a look at how to do that without breaking the Exchange Server.
The Exchange 2019 upgrade compatibility path will be:
- Upgrade to Exchange 2019 CU3
- Upgrade .NET Framework to 4.8
- Upgrade to Exchange 2019 CU12
Articles that you may be interested in:
- Check which .NET Framework versions are installed
- Which .NET Framework for Exchange Server
- Find Exchange version with PowerShell
Conclusion
You learned how to update .NET Framework in Exchange Server. Save the Cumulative Updates when available for download, as Microsoft will delete them after a newer version comes out. You might need it when carrying out the update path.
Use the given flowchart. It’s easy to follow the update path for Exchange Server Cumulative Update and .NET Framework. Do not hesitate to use the comments below to ask any questions if you have them!
Did you enjoy this article? You may also like the article Install Exchange Server with GUI step by step. Don’t forget to follow us and share this article.
Hi Ali
i Appreciate you for this awesome article
before reading this Article , I Had a bad Experience in Upgrading Exchange 2016 CU 7 to the latest CU ( 23) – on 2 servers from 3 servers…….
First I installed net 4.8 – i Rebooted the Server – After rebooting I Installed Exchange 2016 CU 23 – in Step 5 of installation I got an Error That : there is no exchange installation folder …..
I had to remove VM from Virtualization Infrastructure and then i cleaned up Metadata of server From Configuration information partition ( Server & database ) …….
i highly Recommend that Upgrade Unsupported Exchange with this Article
Thanks a lot
Fortunately my Exchange servers are routinely kept up-to-date so I don’t have the chore of working out a path to get from an old version onto the latest CU, having said that I always find sites like this one useful as a way to confirm that I haven’t missed something when writing up my change process. It is easy to miss some hidden detail in the Microsoft articles and come unstuck. Thanks for putting together a comprehensive site for us Exchange Admin types.
Hi Ali! Great post!
In your Exchange 2016 example (The company is currently running Exchange Server 2016 CU3 and .NET Framework 4.6.1), do you need pgrade to Exchange 2016 CU4 as a first step? I think you could upgrade the .NET Framework to 4.6.2 as a first step and then upgrade to Exchange 2016 CU9. I don’t think it is necessary to update to CU4 since CU3 is compatible with .NET Framework 4.6.2. It is right? Thanks!!
Hi Fernando,
That’s correct!
Hi,
I have Exchange Server 2016 CU7 running on .NET 4.7 which is having security issues. I want to bring everything up-to-date, but should the first step go straight to CU12 and miss out CU9 as its already on 4.7? Extract from Health Check…
Exchange Information
——————–
Name: EXCHANGE2016
Generation Time: 11/02/2021 21:51:21
Version: Exchange 2016 CU7
Build Number: 15.01.1261.039
Operating System Information
—————————-
Version: Microsoft Windows Server 2016 Standard
.NET Framework: 4.7 – Warning Recommended .NET Version is 4.6.2
Your Exchange Server upgrade path will look like this:
– Upgrade to Exchange 2016 CU9
– Upgrade .NET Framework to 4.7.1
– Upgrade to Exchange 2016 CU12
– Upgrade .NET Framework to 4.7.2
– Upgrade to Exchange 2016 CU14
– Upgrade .NET Framework to 4.8
– Upgrade to Exchange 2016 CU22
After that, install the October 2021 Exchange Server Security Update (SU).
How to we install security updates for .net framework on Exchange 2016 server
You have the following options to install Cumulative Updates for .NET Framework 4.8:
– Windows Update and Microsoft Update
– Microsoft Update Catalog
– Windows Server Update Services (WSUS)
May 11, 2021-KB5001841 Cumulative Update for .NET Framework 4.8 for Windows 10, version 1607 and Windows Server, version 2016 is the latest at the moment of writing.
Hello ALI TAJRAN,
I have theopposite issue. My exchange server’s .NET got upgraded to .NET 4.7.1 but Exchange 2013 CU is at 4 Build 847.32. This combination is also “not Supported”.
The single step upgrade to CU19 would get to a “support configuration” is this even possible
Then install CU23 then >NET 4.8?
What would be your recommendation for upgrading to CU 23?
I recommend you to upgrade Exchange Server as follows:
– Upgrade to Exchange 2013 CU15
– Upgrade to Exchange 2013 CU20
– Upgrade to Exchange 2013 CU22
– Upgrade .NET Framework to 4.7.2
– Upgrade to Exchange 2013 CU23
– Upgrade .NET Framework to 4.8
After that, install Exchange Security Update.
Question, I am running Exchange 2013 CU19, with Dot net 4.8+ , shouldn’t I be able to upgrade using Exchange 2013 CU22 and CU23? Without needing to downgrade then upgrade the dot netframework.
In your case, upgrade immediately to Exchange Server 2103 CU23 (15.00.1497.002).
Hi Ali,
thanks for the sheet, but Exchange Server 2013 CU15 is no longer available. So what the steps should be, when updating an Exchange Server 2013 with CU smaller than CU15 ?
thx
Bruno
Hi Bruno,
I have written in my article “You can use an unofficial website to download an older Exchange CU.”
Download the CUs from here: https://www.msexchangeupdates.com/
I had a lot of issues throwing when updating Exchange CU. After following this approach, it worked perfect.
You saved my ass. Thanks Ali.
Hi Ali,
Thank you for taking the time and putting this together. I had issues with the Exchange installation and I did create a case with Microsoft. Stumbled upon your article and did the steps. What can I say? It worked perfect.
For everyone here reading: Yes it will take a bit more time when following the flowchart as described by Ali, but it works!
Again thank you a lot for the work that you put in for us all and sharing with us.
The only page that got me up to date with my Exchange Servers. So many errors with updating and nobody had a clue but this made it work. I owe you a lot. Thanks for all your articles it’s the best page ever.
This worked perfectly. Thanks Ali.
This article was great. Thank you very much. I tried patching CU6 to CU19 and had .Net Failures. Rolled back the servers and took your approach and it went perfectly. Took a long time but no issues!
hi Howard – I also need to upgrade from CU6. In Ali’s chart, he suggests we’d need to update to CU9 before then updating .NET. Where did you get the iso for CU9 from?
I have written in my article “You can use an unofficial website to download an older Exchange CU.”
Download the CUs from here: https://www.msexchangeupdates.com/
hi Ali
I really appreciate your reply. I did see that in the article, but to be honest I was a little wary of it. I assume you’ve downloaded from there with no issues?
Hi Paul,
Yes, I did. It would be best if you validate the checksum of the downloaded file.
This upgrade path is simply not correct. You can perfectly upgrade directly from for instance .Net 4.7.1 and Exchange 16 CU11 to .Net 4.8 and CU18. First put your server in maintenance mode, install .Net 4.8, reboot and than upgrade to Exchange 2016 CU18. No intermediate upgrade to CU14 is needed. After the upgrade to CU18 reboot again and bring your server back in production mode. That’s it.
Sometimes there is no right and wrong, just like in this case. What I have shown is the PREFERRED method. It’s possible to upgrade immediately to the latest CU version. But, as I said in the article, it’s NOT the recommended way of doing.
The Exchange team discussed the following. See the last line in particular:
When upgrading Exchange Server from an unsupported CU to the current CU and no intermediate CUs are available, you should first upgrade to the latest version of .NET that’s supported by your version of Exchange Server 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.
In your case, the Exchange CU upgrade went successfully, and that’s fine. If you do get errors or problems after upgrading Exchange Server to the latest CU in one jump, try to think about this article.