Exchange setup will check for the presence of the required .NET framework, if not present setup will halt.
This is also true when extending the AD Schema and preparing Active Directory. If the machine where you are running the AD preparation commands does not have the required .NET framework, then the installer will log an error. In the below example a Windows 2012 R2 domain controller, the Schema Master FMSO role holder, was used to initiate the PrepareSchema command. This failed due to .NET not being updated on that server where the Exchange 2013 CU16 setup command was being executed:
setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
For make benefit, most glorious search engines:
Microsoft Exchange Server 2013 Cumulative Update 16 Unattended Setup
File copy complete. Setup will now collect additional information needed for installation.
Performing Microsoft Exchange Server Prerequisite Check
Prerequisite Analysis FAILED
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.
If setup was launched on a Exchange server which was missing the .NET update, the same error will be logged. This will be after the additional pre-flight checks are performed.
Verify .NET Framework Version Installed
MSDN documents How to: Determine Which .NET Framework Versions Are Installed. In the .NET 4.5 and 4.6 versions we can review the Release key in the registry which is located under:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
Consult the MSDN reference article for all of the details. In short, current server versions will typically report the below values. If you do not have a value of 394806 on a Windows 2012 R2 system then it is time to upgrade .NET.
|394271||Non Server 2016 Systems||4.6.1|
|394802||Windows Server 2016||4.6.2|
|394806||Non Server 2016 Systems||4.6.2|
We can check this quickly using PowerShell:
Get-ItemProperty -Path “HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full” | Format-List Release
However, before upgrading .NET please review the next section.
Upgrading to Exchange 2013 CU16 or Exchange 2016 CU5
Since .NET 4.62 framework support was first added in Exchange 2013 CU15 and Exchange 2016 CU4 this adds an upgrade step. Framework 4.6.2 is not supported on earlier versions of Exchange. This means that if you must consider the currently installed CU and also the currently installed .NET framework when planning this upgrade.
Ideally Exchange 2013 servers will already be on CU15, and Exchange 2016 servers will already be on CU4. If this is the case then .NET can be upgraded prior to installing Exchange 2013 CU16 and Exchange 2016 CU5. However if this is not the case then you cannot upgrade directly to the latest CU, you must:
Upgrade to Exchange 2013 CU15 or Exchange 2016 CU4
Only then perform the .NET upgrade to 4.6.2
Then upgrade to Exchange 2013 CU16 or Exchange 2016 CU5
Note: If upgrading to a newer CU, doing .NET upgrade and then to a later CU be sure to allow time for the .NET optimisation process to complete after .NET upgrade. The .NET upgrade requires a reboot, and after the OS has restarted Exchange setup cannot start until the .NET optimisation process has completed. This may take from 30-60 minutes.
Please plan accordingly to ensure that .NET and Exchange are updated correctly in the right order. You may also need to update additional machines if you require that separate teams must execute the AD and domain preparation steps. This is common in larger customers, since the Exchange administrators will not have Enterprise Admin or Schema Admin rights in AD.
After updating .NET to 4.6.2 on the Schema Master, the Active Directory and domains can now be prepared.