Saturday, August 17, 2019

Exchange 2016 EMS Error: Could Not Load Microsoft.Exchange.CabUtility.dll

A few months ago, I upgraded my Exchange 2016 Servers to CU12, which included a Management Tools box that I run so other "non-Exchange" admins don't connect directly my Exchange machines.

The CU12 install was successful, but I just noticed that the EMS (Exchange Management Shell) on the Management Tools server threw an error when remoting to the Mailbox Servers. It was complaining that it couldn't find some required files; namely "Microsoft.Exchange.CabUtility.dll".

The Error:

Exception calling "EnsureTargetTypesLoaded" with "2" argument(s): "Could not load file or assembly
 'Microsoft.Exchange.CabUtility.dll' or one of its dependencies. The specified module could not be found."
 At C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1:79 char:1
 + $typeLoadResult = [Microsoft.Exchange.Configuration.Tasks.CmdletAssemblyHelper]: ...

    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
     + FullyQualifiedErrorId : FileNotFoundException

 C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1 : The Exchange types file wasn't loaded because not all of the required files could be found.
 At line:1 char:1
 + . 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Conne …

After some digging around on the server, I noticed that Visual C++ Redistributable for Visual Studio 2012 wasn't installed - Exchange 2016 CU12 requires Visual Studio 2012 and 2013.

What's even stranger: Visual Studio 2012 was installed prior to installing Visual Studio 2013 during the CU12 install...does 2013 overwrite 2012? I dunno, but this very same thing (Visual Studio 2012 missing) happened on my Edge server, which is how I knew to look there.

Again, this was strange since the upgrade finished with no errors. You'd think if something was missing, the install would bomb out...shrug.

The Fix:

Close the EMS.

Install Visual C++ Redistributable for Visual Studio 2012 Update 4 from here.

Fire up the EMS...no more errors!

No comments:

Post a Comment