Exchange 2016 Installation Step by Step Guide for Anyone

At Ignite 2015, Microsoft showcase some of the features and capabilities of Exchange 2016 that makes it better then the existing 2013 version. On July 22, 2015 Microsoft announced the public preview availability of Exchange 2016. As Exchange 2016 preview is available so it’s time for exchange 2016 Installation step by step to explore the new features and capabilities of Exchange 2016.

Warning:  Microsoft doesn’t support the installation of Exchange 2016 preview in production environment. !!!

Before we start to look at exchange 2016 installation step by step, let’s take a look at some of the per-requisites for Exchange 2016 and comparability requirements.

Exchange 2016 does include Office Web App server but currently only available to members of the Exchange On-Premises Technology Adoption Program (TAP). If you’re not a member of the Exchange TAP program, you can still install Exchange 2016. However, the features enabled by “Office Web Apps vNext” won’t be available.

Exchange 2016 Compatibility Requirements:

  • Exchange 2016 doesn’t support coexistence with Exchange 2007 or earlier versions of Microsoft exchange.
  • Exchange 2013 CU8 and higher version are supported with Exchange 2016 coexistence.
  • Exchange 2010 SP3 RU9 and higher versions are supported for exchange 2016 coexistence with 2010.
  • Exchange 2016 hybrid is only supported with new upgraded office 365 tenant.
  • IPv6 is supported with coexistence of IPv4.
  • Outlook 2010 and 2013 clients are supported with Exchange 2016. I always recommend to patch the outlook client for best end user experience.

Exchange 2016 Installation Prerequisites:

  • Minimum forest functional level for exchange 2016 is Windows Server 2008.
  • Windows Server 2012 or 2012 R2 is required for Exchange 2016 installation. You cannot install Exchange 2016 on Windows 2012 core or essentials edition.

Exchange 2016 Installation Step by Step:

Exchange 2016 support three possible installations at the moment with preview edition.

  • Mailbox Server Role: It’s a mandatory server role for exchange 2016 and the only mandatory role in 2016.
  • Management Tools: Requires for admin purpose on admin machine.
  • Edge Transport Role: Optional role and we can’t install it on the same server that has mailbox role installed.

You must have Enterprise Admin, Schema Admin and Domain admin rights before you start the installation of Exchange 2016.

In my lab, I’ve installed the mailbox server and management tools on the same box and here are the steps to perform.

On exchange 2016 server member server, run the following cmdlet to install the exchange 2016 per-requisites. Make sure you run the powershell as administrator.

Install RSAT-ADDS by running the cmdlet Add-WindowsFeature RSAT-ADDS

Rsat

Installation of RSAT-ADDS allows exchange setup to extend AD Schema and prepare the domain for exchange installation. You can also extend your schema and domain by running the cmdlet.

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, 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

 

2

Note: You need to reboot the machine after the roles and features per-requisites installation is completed.

After rebooting the machine. Download and install the following in order.

  1. .NET Framework 4.5.2
  2. Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit

.Net Framework Installation

After downloading the file, double click the setup and follow the instructions.

3

Accept the license terms and click Install.

4

5

After 5-10 minutes, .Net framework installation will be completed.

6

Microsoft Unified Communications Managed API 4.0

1.1

1.2

1.3

1.4

1.5

1.6

Exchange 2016 Installation

Double click on Exchange 2016 Setup and follow the instructions.

Microsoft recommend to always check for updates before you start the installation and Click Next.

E1

Once you check for updates and install the required updates if required, Setup will start the process of copying Exchange setup files. E2

Once the files are copied, Setup will start the process of initialization for Exchange installation.

E3

 

E4

Click Next to Start the installation process. E5

Accept the license agreement and click on Next.

E6

Always use Recommended Settings and click Next.

E7

Select the server role that you would like to install. I’ve selected the Mailbox and Management Role as It’s the first Exchange server deployment in my lab. E8

Provide the path for Exchange Installation directory and click Next.

 

E9

Provide the name to your messaging organization. I’ve provided the name of “MSTechnologyTalk“. If you’ve split permissions model and have different administrator for Active Directory then select the check box for split permissions. E10

It’s recommended that you shouldn’t disable malware scanning on  your exchange server. We stick with the default option of No and click next.

E11

Read the warnings and make sure you don’t have any error message and click on Install. E12

 

During the Installation process, Exchange server will perform the following 15 steps.

  • Organization Preparation
  • Stopping Services
  • Copy Exchange Files
  • Language Files
  • Restoring Services
  • Languages
  • Management Tools
  • Mailbox Role: Transport Service
  • Mailbox Role: Client Access Service
  • Mailbox Role: Unified Messaging Service
  • Mailbox Role: Mailbox Service
  • Mailbox Role: Front End Transport Service
  • Mailbox Role: Client Access Front End Service
  • Finalizing Setup

After all above steps are completed, you’re done with the installation of your first Exchange 2016 in your organization. compYou need to reboot your exchange server before you start the administration and configuration of your exchange server.

After rebooting the server, Go to Exchange Management Shell and run the following cmdlet to verify the exchange version.

Exchange 2016You can download the pdf of this article from TechNet Gallery.

19 comments

  • Help me resolve this problem.
    Error happens during install Exchange 2016 On Server 2012 :


    Error:
    The following error was generated when “$error.Clear();
    $file = ‘MSExchangeMailboxAssistants.exe.config’;
    $template = $file + ‘.template’;
    $relPath = ‘bin’;
    $fullPath = [System.IO.Path]::Combine($RoleInstallPath, $relPath);
    $fullFilePath = [System.IO.Path]::Combine($fullPath, $file);

    Set-InstallPathInAppConfig -ConfigFileRelativePath $relPath -ConfigFileName $template;
    Preserve-AppSettings -RoleInstallPath $fullPath -ConfigFileName $file;
    set-appconfigvalue -ConfigFileFullPath:$fullFilePath -Element:configuration/runtime/generatePublisherEvidence -Attribute:enabled -NewValue:false
    ” was run: “System.Configuration.ConfigurationErrorsException: Root element is missing. (C:Program FilesMicrosoftExchange ServerV15binMSExchangeMailboxAssistants.exe.config) —> System.Xml.XmlException: Root element is missing.
    at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
    at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
    at System.Configuration.XmlUtil..ctor(Stream stream, String name, Boolean readToFirstElement, ConfigurationSchemaErrors schemaErrors)
    at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

    • Can you please verify if you’ve installed all the per-requisites and you’ve installed .Net updates as well? Can you share the setup logs and event logs with me? Thanks.

  • I throughly followed your blog to setup exchange server on Azure. I got struck with with warning messages. How to overcome this. Kindly suggest

    Error message
    This computer isn’t part of Active Directory Domain.
    For more information visit:http://technet.microsoft.com/library(EXCHG.160)/ms.exch.setupreadiness.ComputerNotPartofDomain.aspx

  • I hope you can help, when i try and install exchange 2016 i get the following error
    Active Directory Forest Functional level in the organization must be upgraded to Windows Server 2008 or later

    The functional level is already 2008, it was not but i have upgraded it now but i still get the error message. and i have installed the latest updates and rebooted several times. This was a new 2012 RC2 server that has never had exchange or anything else installed

    Hope you can help

    • Hi,

      Can you please check if you’ve appropriate permissions to install exchange 2016? you must have Schema admin permissions as Exchange 2016 extends AD Schema. Also, what’s installed in your infrastructure? is it a clean installation of 2016 or you have older versions of exchange too?

  • This error final Step configuring services on exchange 2016… Step 15….

    Help please…

    Change TCP congestion window to size 16 within datacenter to optimize for network latency on Windows 2012 servers
    $computerVersion = [System.Environment]::OSVersion.Version;
    if(($computerVersion.Major -eq 6) -and ($computerVersion.Minor -eq 2))
    {
    $p = Get-NetTCPSetting;
    Write-ExchangeSetupLog -Info ($p);
    foreach ($a in $p)
    {
    if($a.SettingName -eq “Custom”)
    {
    $s = Set-NetTCPSetting -SettingName Custom -InitialCongestionWindowMss 16 -MinRtoMs 300 -CongestionProvider CTCP -InitialRtoMs 400 -DelayedAckTimeoutMs 10;
    $t = New-NetTransportFilter -SettingName Internet -LocalPortStart 443 -LocalPortEnd 443 -RemotePortStart 0 -RemotePortEnd 65535;
    $n = New-NetTransportFilter -SettingName Custom -LocalPortStart 0 -LocalPortEnd 65535 -RemotePortStart 444 -RemotePortEnd 444;
    Write-ExchangeSetupLog -Info ($s + ” ” + $t + ” ” + $n);
    break;
    }
    }
    }

    [11/08/2015 20:00:56.0993] [1] The following 1 error(s) occurred during task execution:
    [11/08/2015 20:00:56.0993] [1] 0. ErrorRecord: Não é possível converter ‘System.Object[]’ para o tipo ‘System.String’ necessário para o parâmetro ‘Message’. Não há suporte para o método especificado.
    [11/08/2015 20:00:56.0993] [1] The previous errors were generated by a non-critical task and will be ignored.
    [11/08/2015 20:00:56.0993] [1] Setup will continue processing component tasks…
    [11/08/2015 20:00:56.0993] [1] Processing component ‘FrontendTransport PostSetup’ (Finalizando a Instalação da função de Caixa de Correio: Serviço de Transporte de Front-End).
    [11/08/2015 20:00:56.0993] [1] Executing:
    start-SetupService -ServiceName MSExchangeFrontendTransport

  • I am unable to install exchange 2016 due to the following error “Active Directory Forest Functional level in the organization must be upgraded to Windows Server 2008 or later”

    This is a new 2012 r2 server that is joined to my domain and the forest level is already at 2008. When i first tried to run it the forest level was 2003 but i have since done a number of updates and reboots and i still get the same message

    Any help would be appreciated

    Thanks
    Darren

  • Navdeep Singh

    I am getting the following error when installing exchange 2016. Please assist.

    Error:
    The following error was generated when “$error.Clear();
    if ( ($server -eq $null) -and ($RoleIsDatacenter -ne $true) )
    {
    Update-RmsSharedIdentity -ServerName $RoleNetBIOSName
    }
    ” was run: “Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
    at Microsoft.Exchange.Data.Directory.ADDataSession.Save(ADObject instanceToSave, IEnumerable`1 properties, Boolean bypassValidation)
    at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.Link()
    at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.InternalProcessRecord()
    at Microsoft.Exchange.Configuration.Tasks.Task.b__b()
    at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.

  • Pingback: Rename Exchange 2016 Default Database | Microsoft Expert Talk

  • Pingback: Exchange 2010 to Exchange 2016 Migration – Part 1 – Microsoft Expert Talk

  • Pingback: Install Exchange 2016 Edge Transport server – Microsoft Expert Talk

  • Pingback: Configuring Exchange 2016 Edge Transport Server – Microsoft Expert Talk

  • Pingback: Configuring URL Redirection in Exchange 2016 – Microsoft Expert Talk

  • Very helpful article, thanks.

  • Pingback: Troubleshoot Exchange 2016 Error Database is mandatory on UserMailbox

  • Pingback: Installing an Exchange Server 2016 Database Availability Group (DAG)

  • Pingback: Exchange 2016 error “A valid migration mailbox could not be found for this organization”