Last week I had to upgrade a few Exchange 2013 CU15 servers to Exchange 2013 CU18. In a typical scenario upgrading to a newer Cumulative Update it’s not a big deal, not even when skipping a few versions, but in this scenario most likely you will hit the following error message:
It fails during the Prerequisite Analysis with the error message
“This computer requires .NET Framework 4.6.2 (https://support.microsoft.com/kb/3151802). For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.MinimumFrameworkNotInstalled.aspx
The Exchange Server setup operation didn’t complete. More details can be found in ExchangeSetup.log located in the (SystemDrive):\ExchangeSetupLogs folder.”
Exchange Server 2013 CU18 requires the .NET Framework 4.6.2 for installation which was obviously not installed on these servers.
How do you determine the installed version of the .NET Framework? Unfortunately (again this word ☹) this is not visible in Control Panel and you have to check the registry for this.
Navigate to HKLM\SOFTWARE\Microsoft\NET Framework setup\NDP\Full and check the DWORD value Release:
In my server the value was 379893, which means .NET Framework 4.5.2 was installed.
The following is a list of DWORD values for the various .NET Framework versions:
- 378389 – .NET Framework 4.5
- 378675 – .NET Framework 4.5.1 on Windows 2012 R2
- 379893 – .NET Framework 4.5.2
- 393297 – .NET Framework 4.6
- 394271 – .NET Framework 4.6.1
- 394806 – .NET Framework 4.6.2
- 460805 – .NET Framework 4.7
- 461310 – .NET Framework 4.7.1
Note. If the Full subkey is not available the .NET Framework 4.5 or above is not installed on your server.
It is also possible to retrieve this information using PowerShell:
Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemProperty
So, which version of .NET Framework are supported with which version of Exchange server. You can find this is the Exchange server Supportability Matrix:
Obviously, the .NET Framework versions and Exchange server versions is a difficult situation. It is a Microsoft problem, but the Exchange application is just using the .NET Framework, just as it is using Windows server and as such relies on supportability from the .NET development team or the Windows development team. This is becoming increasingly annoying with the rapid pace of releasing .NET versions.
But in our scenario, the Exchange 2013 CU15 servers was upgraded from CU12 last year, and was still using the .NET Framework version 4.5.2. My advantage was that Exchange 2013 CU15 also supports .NET Framework 4.6.2 so my upgrade path was easy.
- Install the .NET Framework 4.6.2 on Exchange 2013 CU15.
- Upgrade to Exchange 2013 CU18.
- Everybody happy.
In the same week another customer reached out to me, and he was still running Exchange 2013 CU12 and wanted to upgrade to Exchange 2013 CU18 and this is becoming more annoying.
When upgrading from CU12 (or older) the following steps are required:
- Upgrade from Exchange 2013 CU12 to CU15
- Install the .NET Framework 4.6.2 on the CU15 servers
- Upgrade from Exchange 2013 CU15 to CU18
- Everybody happen (except Exchange admins)
Currently (December 2017) the .NET Framework 4.7.1 is also available, but this isn’t supported by any version of Exchange server. Most likely it will be supported by Exchange Server 2013 CU19 and Exchange Server 2016 CU8. When it becomes available I will update this blog post.
More information can be found on the following Microsoft sites:
- Exchange 2016 system requirements – https://technet.microsoft.com/en-us/library/aa996719(v=exchg.160).aspx
- Exchange 2013 system requirements – https://technet.microsoft.com/en-us/library/aa996719(v=exchg.150).aspx
- .NET Framework 4.7 and Exchange Server – https://blogs.technet.microsoft.com/exchange/2017/06/13/net-framework-4-7-and-exchange-server/
- How to: Determine Which .NET Framework Versions Are Installed – https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed
Hi Jaap,
Fyi CU15 for Exchange cannot be downloaded anymore if you go to download/support page.
LikeLike
Good catch, never realized that. I’ll get back on this.
LikeLiked by 1 person
It took some time, but I’m afraid Microsoft is not going to release older versions of CUs anymore. As a best practice you should always keep a copy of your own version, and always keep up with the latest version (or two). Please don’t shoot the messenger 😉
LikeLike
What is the easiest way to go from Exchange 2013 cu12 to cu18? We have 461310 – .NET Framework 4.7.1 installed?
LikeLike
The official way is to move to CU15, upgrade to .NET Framework 4.6.2 and the upgrade to CU18. If you have installed 4.7.1 you need to uninstall that first I’m afraid
LikeLike