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.


Advertising

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.


Advertising

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.


Cookies helps to fund this blog: Cookie settings
Advertising


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

5 Responses to Microsoft Exchange 2016 / 2019: Pitfall with wrong UCMA requirements

  1. Sam says:

    What do you mean by UCMA version 4.0 is not compatible with newer .NET versions and Windows Server 2016/2019, UCMA 6.0 is required on these platforms? (Specifically for installation on Exchange servers)

    • Karl Wester-Ebbinghaus says:

      Hi Sam,
      MS Docs state that you need to install UCMA 4.0 as a requirement. Exchange Health Checker from CSS also checks for this. all of this does no longer match the reality that MS itself states on the DL pages that UCMA 4.0 is not compatible with Server 2016 or 2019 or .net 4.8 which all are the system requirements for Exchange 2016 or later.

  2. Allen Ballew says:

    YOU are amazing, thank you so much. i have been beating my head against a wall with the 2016 install of exchange. truly I appreciate you putting this info out there all references during the install are totally BULL Squat. I am so tired of Mother Microsoft and their crappy documentation… go to a forum, go to a this or that… if they don't want people to have on premises server any more just tell and and shut them down. sorry 4 hours of this has me very angry…Bravo to you sir… if even in Alaska you have a dinner and trip to world famous hot springs awaiting you…. cheers. and God bless.

  3. Advertising

  4. DanMc says:

    After reading this post and comments, I was worried that my UC 4.0 component was unsupported. Then I found Karl WE's thread on Github discussing this.

    I just wanted to make the solution perfectly clear:

    As of now, June 2022, you must install UCMA 4.0 when deploying Exchange 2016 or 2019. Do not use 6.0.

    This was the final word on this issue from Bhalchandra Atre @Microsoft Exchange team. I would assume that this UCMA 4.0 requirement will exist until 2025 when Exchange vNext release date was recently pushed to. (It was originally set for Q4 2021, and the announcement of the push cited that the Exchange team needed these YEARS to harden Exchange 2019 against nation-state attacks!)

Leave a Reply

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