If you prefer to run Exchange Server setup for new installations or cumulative updates using the GUI rather than the command line, then you aren’t alone, and if you are finally getting round to removing an Exchange Server 2010 or 2013 Hybrid and replacing it with Exchange Server 2016, then it’s better late than never.

In larger environments, where the Active Directory is ran by a separate identity team it would be common practice for the Schema updates and AD preparation to be ran by this team, from the command line.

In theory, you should also be able to simply run the Exchange Server 2016 setup via the GUI and allow it to both prepare Active Directory and also install Exchange. Unfortunately, you might receive the following failure message:

Hybrid Deployment Check – Deserialization fails due to one SerializationException

Hybrid Deployment Check
Deserialization fails due to one SerializationException: System.Runtime.Serialization.SerializationException: Unable to find assembly 'Microsoft.M365.Core.Utility, Version= 18.0.0.0, Culture= neutral, PublicKeyToken= 5a24b4a52c5686bd'. at System.Runtime.Serialization.Formatters.Binary.BinaryAssemblylnfo.GetAssemblyO
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblylnfo assemblylnfo, String name) at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String!) memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object!) typelnformationA, Int32[) memberAssemlds, ObjectReader objectReader, Int32 objectld, BinaryAssemblylnfo assemblylnfo, SizedArray assemldToAssemblyTable) at System.Runtime.Serialization.Formatters.Binary._BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)
at System.Runtime.Serialization.Formatters.Binary._BinaryParser.RunO
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, _BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at Microsoft.Exchange.Data.SerializationTypeConverter.DeserializeObject(Object sourceValue, Type destinationType)

If you don’t even get this far then it could be for several other reasons; firstly – you should have disabled Legacy Authentication to your tenant and use Multi-Factor-Authentication for your administrative accounts; and the password field on the Office 365 credentials page of the Exchange Server 2016 setup wizard doesn’t support pasting in the password. Nonetheless, this isn’t the way to solve the issue.

To solve the issue, you will need to drop to the command line (or a PowerShell prompt) and prepare Active Directory before you run the GUI setup.

You’ll first need to use the Exchange Online PowerShell module to run the following cmdlets to extract the organization config from your Microsoft 365 tenant into an XML file.

Get-OrganizationConfig | Export-CliXML .\MyTenantOrganizationConfig.xml

Copy the resulting XML file to a location that the Exchange Server 2016 Setup.exe can access it. Then, run Setup.exe with the following parameters:

Setup.exe /PrepareAD /TenantOrganizationConfig MyTenantOrganizationConfig.xml /IAcceptExchangeServerLicenseTerms

Once complete, continue your installation of the first Exchange Server 2016 via the GUI if you prefer (or of course the command line)

The above method will be familiar to you if you’ve installed via the command line before – but as the error message you’ll see is a little unhelpful, it won’t lead you to the Microsoft documentation describing the above procedure.

About the Author

Steve Goodman

Technology Writer and Chief Editor for AV Content at Practical 365, focused on Microsoft 365. A 12-time Microsoft MVP, author of several technology books and regular Microsoft conference speaker. Steve works at Advania in the UK as Field Chief Technology Officer, advising business and IT on the best way to get the most from Microsoft Cloud technology.

Comments

  1. Filip Soogen

    Hi Steve ,
    do you also need to run this command if on the exchange2010 there was only ran a MINIMAL hybrid setup ? So no TLS connectors , free/busy sharing , ….
    On the 2010 there are no more mailboxes left and the 2016 box will only serve as a management server.

Leave a Reply