Microsoft Exchange 2016 / 2019: Pitfall with wrong UCMA requirements

[German]A brief note for administrators of Microsoft Exchange Server 2016 and 2019: Microsoft has created a pitfall in its requirements documentation and in the update packages for an Exchange Server installation. There UCMA 4.0 is required and linked. But USMA version 4.0 is not compatible with newer .NET versions and Windows Server 2016/2019, UCMA 6.0 is required on these platforms. Here is some information about this.


I already found on Twitter the following post by blog reader Karl, in which he briefly describes the problem. The official documents of Microsoft still link UCMA 4.0 as a requirement for Microsoft Exchange Server 2016 (and probably for 2019 as well).

 UCMA-Problem bei Exchange 2016/2019

The problem is that the Unified Communications Managed API 4.0 (UCMA 4.0) required by the setup for installing Exchange Server 2016 is not supported in later .NET Framework versions. UCMA 4.0 is also not supported on Windows Server 2012 R2, Windows Server 2016, or Windows Server 2019. You will need the new UCMA 6.0, but this is not so easy to install because of conflicts with the runtime libraries of the C++ redistributable 2015 to 2019.

Unified Communications Managed API 4.0 Runtime

The whole thing was noticed because a customer’s Microsoft Exchange Server 2016 CU 18 got stuck on update KB3175339 (Sec-Fix for UCMA 4.0) when downloading updates via sconfig. Blog reader Karl then left me this comment in my German blog post VC ++ 2019: Das Ende des MS C++ Redistribution Chaos?  He refers to his Post Exchange 2016 / Exchange 2019 wrong recommendations on Unified Communications Managed API at Microsoft Q&A, where he describes the issue in more detail.


The root cause for a hanging update install was that the package was listed in the catalog, but is no longer available as a download. At the customer site, Exchange Server 2016 runs on Windows Server 2016 LTSC. The CU 18 or earlier CUs for Exchange were not mentioned in the requirements (to look for the obsolete version of UCMA 4.0), nor has Microsoft updated the packages.

UCMA 6.0 is required, but installing it in the environment described above is a real adventure. Karl has looked at the requirements for installing UCMA 6.0 and made sure that they are met. Nevertheless the installation program was terminated after the installation path was specified to UCMA 6.0.

The reason for this was found in the installation logs. The UCMA setup tries to install C++ Redist 2015-2019 x64 package version 14.12.x, which is very outdated. Unfortunately, the person who created the package for UCMA has implemented a wrong hardcoded version check. Karl therefore had to uninstall UCMA 4.0, which would have been fine. Additionally he also had to uninstall the runtime packages of the C++ redistributions 2015-2019 x64.

In his post, Karl advises Microsoft people never to perform fixed version checks for a specific version number when packing and assembling installation packages. The checks should always be done at the same or higher version number. The current and secure version of the C++ 2015-2019 redistributable is version 14.28.x.

The above statements about Windows Server 2016 and Exchange Server 2016 also apply to the combination of Microsoft Exchange Server 2019, which can only be installed on Windows Server 2019 (and probably soon on Windows Server 2021). Only UCMA 6.0 is allowed there. Microsoft doesn’t really have a grip on its own stuff anymore, even in the business environment, imho.


This entry was posted in issue, Windows and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *