ExSBR on Exchange Server 2013 SP1

The messageconcept team always has the approach to support ExSBR on all Exchange Server versions, service packs and cumulative updates from day one. Unfortunately Exchange Server 2013 Service Pack 1 contains a bug in several config files, which affects all 3rd party transport agents. You might get the following error message after installing the agent:

  • The TransportAgentFactory type ‘net.messageconcept.SenderBasedRouting.SenderBasedRoutingFactory’ doesn’t exist. The TransportAgentFactory type must be the Microsoft .NET class type of the transport agent factory.

The problem lies in several assembly redirection policy files in Microsoft .NET framework’s Global Assembly Cache folder. The first line of each file should be a comment, but fails validation because of an improper commenting style. You find the following problematic files in subfolders below the directory %windir%Microsoft.NETassemblyGAC_MSIL:

  • Microsoft.Exchange.Data.Common.VersionPolicy*.cfg
  • Microsoft.Exchange.Data.Transport.VersionPolicy*.cfg

You might find up to 20 files because there are two files per Exchange Server release. In each file you need to replace the improper end of the comment “——————————–>” with the usual three characters “–>” only. You can do that manually or use the Microsoft Hotfix KB2938053. The hotfix comes with a PowerShell script, that automatically changes all files for you. As the script is not signed, you might need to change the Execution Policy in PowerShell. The hotfix KB2938053 will also be part of Microsoft Exchange Server 2013 Cumulative Update 5 (CU5).

If you install the sender based routing agent after applying the hotfix, you might still have a problem with the installation of messageconcept ExSBR. You might get an error message like this after executing the Install-TransportAgent cmdlet:

  • Microsoft Exchange couldn’t start transport agents. The Microsoft Exchange Transport service will be stopped. Exception details: Failed to create type ‘net.messageconcept.SenderBasedRouting.SenderBasedRoutingFactory’ from assembly ‘C:Program Filesmessageconcept ExSBRSenderBasedRouting.dll’ due to error ‘Could not load file or assembly ‘file:///C:Program Filesmessageconcept ExSBRSenderBasedRouting.dll’ or one of its dependencies. The module was expected to contain an assembly manifest.

The reason is that SP1 resets all config files to default. Therefore SP1 might disable all .NET v2 agents again. You can easily re-enable them by following the description in the Microsoft TechNet article regarding this problem.

messageconcept exsbr software messageconcept exsbr software messageconcept exsbr software