This is a reference post for Exchange 2019 screenshots of the command line installation process. You will note similarities to the Exchange 2016 installation.
Update 30-9-2021 Newer versions of Exchange 2019 have slightly modified the prerequisites and also the original command line options that are shown below. Please see the Exchange 2019 CU11 setup changes post for details.
Planning And Preparation
As with every project proper, planning and preparation is required. Deploying Exchange is no different. Microsoft Docs has an overview of the steps that are required:
Install the Exchange 2019 Mailbox role using the Setup wizard
Install the Exchange 2019 Edge Transport role using the Setup wizard
Test lab was a single domain environment with all domain controllers running Windows Server 2012 R2. Exchange 2019 was installed onto Windows Server 2019. All pending updates were installed prior to installing Exchange. No prior version of Exchange was installed, which is why the Exchange organisation name was specified in the /PrepareAD section.
The Exchange organisation name will be "WingtipToys".
Preparing Active Directory
As with many customer environments, the Exchange team will not be the ones who will update the AD schema and prepare AD for the installation of Exchange. To that end the AD preparation steps will be performed directly on the schema master, not an Exchange server.
To prep AD for Exchange 2019, .NET framework 4.8 must be installed onto the machine that will be used to prepare AD. Follow these steps to verify the installed version of the .NET Framework. If required, install .NET 4.8 and restart the machine. Ensure all updates are installed afterwards. Restart the machine as necessary.
Since we are using the schema master, the AD DS RSAT tools are already installed. If the AD DS RSAT tools are not installed, install then using Server Manager or via Windows PowerShell using Install-WindowsFeature RSAT-ADDS
As with prior releases, we need to first extend the AD DS Schema, PrepareAD and finally PrepareDomains.
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
Setup.exe /PrepareAD /OrganizationName:"<organization name>" /IAcceptExchangeServerLicenseTerms
Setup.exe /PrepareDomain:<FQDN of the domain you want to prepare> /IAcceptExchangeServerLicenseTerms
Note that the setup file is setup.exe for both wizard and command line tasks. You may remember setup.com which was last used with Exchange 2010 unattended setup. It is also noteworthy that the full syntax has been specified, note that the shortcut syntax such as setup.exe /PS is not used. This was covered in the 6 Mistakes To Avoid With Exchange 2013 CU Command Line Installations. There are now 7 mistakes listed in the article, but if the title was changed links would break.
First up, let’s prepare the AD schema:
The command below will extended the AD DS schema for Exchange 2019.
Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
Note that the machine must have a supported version of .NET installed. If not, then the setup pre-flight checks will fail and you will be rewarded with the below.
If you need to install .NET 4.8 then it will need a reboot and time afterwards to complete compilation. If you want to accelerate the post-restart work items, review this post. As noted earlier, ensure any security updates are installed.
Wait for AD to replicate. Once replication has completed we can then move onto the next stage.
Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD /OrganizationName:Wingtiptoys
Note the warning above about the point of no return for installing Exchange 2016 since we are preparing AD for Exchange 2019 and there is no existing Exchange 2016 mailbox server. For more details see this post on the point of no return.
PrepareDomain / PrepareAllDomains
If you have a single domain then running /PrepareDomain in that domain will suffice. If you have multiple domains and the required permissions then your could run /PrepareAllDomains.
Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareDomain
If you have multiple domains then this may be applicable:
Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAllDomains
Install Mailbox Role
Now that AD has been sucessfully prepared, we can move onto installing the first Exchange 2019 server.
Ensure that you install the Exhange 2019 mailbox server prerequisites. They are summarised below.
Visual C++ Redistributable Package for Visual Studio 2012
Visual C++ Redistributable Package for Visual Studio 2013
Update 30-9-2021 Note that IIS URL Rewrite is now required. Please see the Exchange 2019 CU11 setup changes post for details. This is related to the emergency mitigation service which was released post Hafnium.
Unified Communications Managed API 4.0
Once the prerequisites have been installed, ensure all security updates are installed. Typically I restart the server a final time to clear out any pending reboot tasks that would otherwise block the installation. Quicker to just to a proactive restart rather than discovering an issue half way through Exchange setup.
Setup.exe /IAcceptExchangeServerLicenseTerms /Mode:Install /Roles:Mailbox
Note that you need to make sure all the pre-reqs are installed, else you will get a lovely error like the below.
This also include the UC API. The link is included above for reference. If you do not install the UC API, then the below error will result:
This computer requires the Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit. Please install the software from http://go.microsoft.com/fwlink/?LinkId=260990.
For more information, visit:
Assuming that all of the prerequisites have been installed, then things should go as planned.
As always, note that the installation was done from an elevated cmd prompt.