How to: Install Exchange 2016 CU9 on Server 2016
Updated: May 3, 2019
This is a How-To for a new installation (not Update) of Exchange 2016 CU9 on a Server 2016 environment.
To install Exchange 2016 on a Server 2016, you need the Server image with Desktop Experience (GUI) and the Active Directory function level need to be at least Windows Server 2008 R2 (see Question 6 on following link: https://blogs.technet.microsoft.com/exchange/2016/10/27/active-directory-forest-functional-levels-for-exchange-server-2016/).
Since Exchange 2016 CU8, the .NET Version 4.7.1 is supported. Newer .NET Versions can cause problems and should not be installed at this time. An overview of the .NET Versions can be found on the Microsoft TechNet.
Prepare your Server 2016 for the installation
To prevent you System of issues and accelerate the installation, I recommend to disable Real-time protection and also the Cloud-based protection befor the installation of Exchange 2016.
We will have a look on how to enable and configure Windows Defender after the installation (later in this article).
It is Best Practice to fix the page file to memory size + 10MB.
In my test environment I have 12GB of RAM for each server so we need to fix the page file to 12298MB (12 x 1024MB + 10MB).
Note: don't forget to hit "Set"
If the Exchange Server has more than 32GB, is a maximum size of 32778MB for the page file needed.
Other Exchange Engineers don't install Exchange Sources on the system drive. They create a separated partition for the installation.
I think, it is not necessary to create a separate partition (if the infrastructure is not for 10'000 of mailboxes and more).
For me, the following disklayout and format for Exchange Servers running on VMware or Hyper-V has worked well.
C:\ (System) --> 100-150GB NTFS
D:\ (Databases) --> ReFS (Data Integrity needs to be disabled)
E:\ (TransactionLogs) --> ReFS (Data Integrity needs to be disabled)
How to disable data integrity?
You need to format your volume with the following command in an elevated PowerShell window (driveletter in my environment is D and E for the ReFS partitions:
Format-Volume -DriveLetter d,e -FileSystem ReFS -AllocationUnitSize 65536 -SetIntegrityStreams $false
Install the Exchange prerequisites
All needed downloads for the prerequisites installation (they are also noticed and linked in the corresponding section):
Exchange needs a lot of features, they can be installed easy with PowerShell (run as Admin).
Install-WindowsFeature NET-Framework-45-Features, RPC-over-HTTP-proxy, ` RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, ` RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, ` Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, ` Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, ` Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, ` Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, ` Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, ` Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS
Install Update KB3206632
As a prerequisite to install Exchange 2016 on Server 2016 noted on the Microsoft TechNet, the Update KB3206632 is needed.
You can find related information about the update here.
Or download the Update from the Update Catalog with this link.
First, check if the Update is already installed, you can do this by run the following command in a elevated PowerShell window:
If the Update is installed, you can go down to the UCMA (Unified Communication Managed API) section.
If it is not yet installed, you need to do it now.
The installation cannot be done directly, you need to expand the msu-file to get the cab-file for the installation with dism.
Expand the msu-file
Expand -F:* "C:\Support\_Install\windows10.0-kb3206632-x64_b2e20b7e1aa65288007de21e88cd21c3ffb05100.msu" "C:\Support\_Install\KB3206632"
Note: first path is the downloaded msu-file, second path is the folder to expand it to
Install cab with dism
dism /Online /Add-Package /PackagePath:"C:\Support\_Install\KB3206632\Windows10.0-KB3206632-x64.cab"
Unified Communication Managed API 4.0, Runtime
Next, the installation of the UCMA (Unified Communication Managed API 4.0, Runtime is needed.
You can download it on this link.
The installation is quiet easy and does not need to be documented.
.NET Framework 4.7.1
As described above, .NET Framework 4.7.1 is officially supported since the Exchange 2016 CU8 was released in December 2017.
.NET Framework 4.7.1 will not be installed automatically with the Server 2016 installation media. So you can install it, using the Windows Update Services or (as i recommend) with the Offline Installer.
You can find the download for the Offline Installer on this link.
After all this installations - please check for updates and reboot the server!
Installation Exchange 2016 CU9
Prepare Active Directory and domains (including Schema)
First thing we need to do is, the preparation of the Active Directory Schema, Active Directory himself and the Active Directory Domains.
In small environments, you can do it (or let it do) with the normal Exchange setup GUI. But I prefer to to it in a PowerShell windows before starting the installation. So I have the possibility to check the replication first and don't have any problems during the installation.
To do it in PowerShell, you only need this 3 commands:
# Preparation for the Active Directory Schema
.\Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
# Preparation for the Active Directory including the organization name
.\Setup.exe /PrepareAD /OrganizationName:"Name of your Organization" /IAcceptExchangeServerLicenseTerms
# Preparation for the domains
.\Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms
For more information, read the following Microsoft TechNet article:
Now it is time for the installation of Exchange 2016 CU9
After all the preparation, it is quiet simple to install Exchange 2016 CU9, so you find only some printscreens and information where you need to do something.
Installation in unattended mode (PowerShell)
If you want to install Exchange 2016 in unattended mode over PowerShell, you can use the following command:
# Create an Exchange 2016 organization in Active Directory called Doudisblog, installs the Mailbox server role and the management tools, and also accepts the Exchange 2016 licensing terms.
.\Setup.exe /mode:Install /role:Mailbox /OrganizationName:Doudisblog /IAcceptExchangeServerLicenseTerms
For those who want to install Exchange 2016 on a separate partition, can use this command (in small environments you can install it on the system drive like I do):
# Installs the Mailbox server role and the management tools in the "D:\Exchange Server" directory. This command assumes an Exchange 2016 organization has already been prepared.
.\Setup.exe /mode:Install /role:Mailbox /TargetDir:"D:\Exchange Server" /IAcceptExchangeServerLicenseTerms
For more information, read the following Microsoft TechNet article:
Installation with GUI
You can chose to don't check for updates. I've never had an installation, where the connect to Internet and check for updates worked (even with an older CU version than currently available).
Accept the license agreement and click next to continue.
I never use the recommended settings. I always take "Don't use recommended settings", this allows you to customize the organization name and installation path.
Exchange 2016 only has the Mailbox role (if you don't want to install an Edge Transport server), so you chose this role and click next.
I'm doing my installation on the partition C:, if you want to install your Exchange 2016 on a separate partition, you can change it on this page. A later change isn't possible.
On my installation, I let the Malware Protection Settings as default. If you plan to implement a 3rd Party Tool like "TrendMicro Scanmail" and dedicated SPAM-Gateway, you can also disable it.
I will show you in a later blogpost, how you can and should configure the Exchange integrated Malware Protection.
If the Readiness Checks (Prerequisite Analysis) has not found any problems, you can go forward and install Exchange 2016 CU9.
The installation takes some time. If the installation has completed, click finish and reboot the server.
After the installation, you need to configure the basic settings immediately. If you don't do that, the users get some popups because Exchange installs automatically a self signed certificate and autodiscover will be offered by the Active Directory SCP (Service Connection Point).
If you are installing Exchange 2016 in an existing environment with other Exchange Servers (for a migration or to extend the number of servers in a DAG - Database Availability Group) and don't want to get popups concerning the certificate, you can request the right certificate from the internal CA (Certification Authority) or take the public certificate if you use Single Namespaces and install the certificate in the personal store on the new Exchange Server before you install Exchange 2016.
For the basic configuration settings, as well as the configuration of Windows Defender, I will make a new post and add the link below.
Let me know, if you have any question or suggestion. If you find some faults, let me know too.