"Process execution failed with exit code 3" error when installation of Exchange Edge Transport role fails

Applies to: Exchange Server 2019Exchange Server 2016Exchange Server 2013

Symptoms


When you install Microsoft Exchange 2019, 2016, or 2013 Edge Transport server roles by using the Setup wizard, the installation fails and returns an error message that resembles the following:

The following error was generated when "$error.Clear(); $dllFile = join-path $RoleInstallPath "bin\ExSMIME.dll"; $regsvr = join-path (join-path $env:SystemRoot system32) regsvr32.exe; start-SetupProcess -Name:"$regsvr" -Args:"/s `"$dllFile`"" -Timeout:120000; " was run: "Microsoft.Exchange.Configuration.Tasks.TaskException: Process execution failed with exit code 3. at Microsoft.Exchange.Management.Tasks.RunProcessBase.InternalProcessRecord() at Microsoft.Exchange.Configuration.Tasks.Task.b__91_1() at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)".

Cause


This issue occurs because Microsoft Visual C++ 2012 isn't installed on the server. Visual C++ 2012 is required in order to include the Active Template Library (ATL).

Resolution


To fix this issue, install Visual C++ 2012, and run the Setup wizard again.

The following article lists the download links for the latest versions of Microsoft Visual C++:

The latest supported Visual C++ downloads