Upgrade Exchange 2016 to CU20 error

LADU 1 Reputation point
2022-01-18T23:55:29.17+00:00

Im trying to upgrade my WIndows 2012 R2 Server with Exchange 2016 (all roles on single server) with CU20 upgrade. Setup runs for a long time, it takes maybe more than 5 or 6 hours until setup is stoppen and throws below error. It stops in step 10 of 17, Mailbox role: Transport role.

Anyone knows what might cause this? I need to roll back server since Exchange doest work after that setup.

Error:
The following error was generated when "$error.Clear();
if ($RoleProductPlatform -eq "amd64")
{
try
{
# Need to configure the ETL traces before the fast service is installed. This will ensure that when the service comes up
# it will have the necessary trace session setting available to read from the registry
$fastPerfEtlTraceFolderPath = Join-Path -Path $RoleBinPath -ChildPath "\Search\Ceres\Diagnostics\ETLTraces"
$fastDiagnosticTracingRegKeyPath = 'HKLM:\SOFTWARE\Microsoft\Office Server\16.0\Search\Diagnostics\Tracing'
if(-not(Test-Path -Path $fastPerfEtlTraceFolderPath))
{
$null = New-Item $fastPerfEtlTraceFolderPath -Type 'Directory' -Force
}

                    if (-not(Test-Path -Path $fastDiagnosticTracingRegKeyPath))
                    {
                        $null = New-Item -Path $fastDiagnosticTracingRegKeyPath -Force
                    }

                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'TracingPath' -PropertyType 'string' -Value $fastPerfEtlTraceFolderPath -Force
                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'TracingFileName' -PropertyType 'string' -Value 'DocumentProcessingTrace' -Force
                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'DocumentParserSuccessLogMessage' -PropertyType 'Dword' -Value 1 -Force
                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'DocumentParserLoggingNoInitialisation' -PropertyType 'Dword' -Value 1 -Force

                    \# Max trace folder size 50 * 100 = 5GB
                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'MaxTraceFileSize' -PropertyType 'Dword' -Value 50 -Force
                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'MaxTraceFileCount' -PropertyType 'Dword' -Value 100 -Force

                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'UseGeneralSwitch' -PropertyType 'Dword' -Value 1 -Force
                    $null = New-ItemProperty -Path $fastDiagnosticTracingRegKeyPath -Name 'GeneralSwitch' -PropertyType 'Dword' -Value 0 -Force
                }
                catch
                {
                    \# ETl tracing is not critical. Info only log
                    Write-ExchangeSetupLog -Info ("An exception ocurred while trying to Configure the FAST ETL traces. Exception: " + $_.Exception.Message);
                }

                try
                {
                    $fastFusionRegKeyPath = 'HKLM:\SOFTWARE\Microsoft\Office Server\16.0\Search\FlightControl' 

                    if (Test-Path -Path $fastFusionRegKeyPath)
                    {
                        Remove-ItemProperty -Path $fastFusionRegKeyPath -Name 'fusion_new_enabled' -Force -ErrorAction SilentlyContinue
                        Remove-ItemProperty -Path $fastFusionRegKeyPath -Name 'fusion_old_enabled' -Force -ErrorAction SilentlyContinue
                        Remove-ItemProperty -Path $fastFusionRegKeyPath -Name 'fusion_compare_outputs' -Force -ErrorAction SilentlyContinue
                    }
                }
                catch
                {
                    \# Removing new fusion keys is not critical. Info only log
                    Write-ExchangeSetupLog -Info ("An exception ocurred while trying to remove the fast new fusion reg keys. Exception: " + $_.Exception.Message);
                }

                $fastInstallConfigPath = Join-Path -Path $RoleBinPath -ChildPath "Search\Ceres\Installer";
                $command = Join-Path -Path $fastInstallConfigPath -ChildPath "InstallConfig.ps1";
                $dataFolderPath = Join-Path -Path $RoleBinPath -ChildPath "Search\Ceres\HostController\Data";

                \# Remove previous SearchFoundation configuration
                &$command -action u -silent;
                try
                {
                    if ([System.IO.Directory]::Exists($dataFolderPath))
                    {
                        [System.IO.Directory]::Delete($dataFolderPath, $true);
                    }
                }
                catch
                {
                    $deleteErrorMsg = "Failure cleaning up SearchFoundation Data folder. - " + $dataFolderPath + " - " + $_.Exception.Message;
                    Write-ExchangeSetupLog -Error $deleteErrorMsg;
                }

                \# Re-add the SearchFoundation configuration
                try
                {
                    \# the BasePort value MUST be kept in sync with dev\Search\src\OperatorSchema\SearchConfig.cs
                    &$command -action i -baseport 3800 -dataFolder $dataFolderPath -silent;
                }
                catch
                {
                    $errorMsg = "Failure configuring SearchFoundation through installconfig.ps1 - " + $_.Exception.Message;
                    Write-ExchangeSetupLog -Error $errorMsg;

                    \# Clean up the failed configuration attempt.
                    &$command -action u -silent;
                    try
                    {
                        if ([System.IO.Directory]::Exists($dataFolderPath))
                        {
                            [System.IO.Directory]::Delete($dataFolderPath, $true);
                        }
                    }
                    catch
                    {
                        $deleteErrorMsg = "Failure cleaning up SearchFoundation Data folder. - " + $dataFolderPath + " - " + $_.Exception.Message;
                        Write-ExchangeSetupLog -Error $deleteErrorMsg;
                    }
                }

                \# Set the PowerShell Snap-in's public key tokens
                try
                {
                    $PowerShellSnapinsPath = "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\";
                    $FastSnapinNames = @("EnginePSSnapin", "HostControllerPSSnapIn", "InteractionEnginePSSnapIn", "JunoPSSnapin", "SearchCorePSSnapIn");
                    $officePublicKey = "71E9BCE111E324D";
                    $exchangePublicKey = "31bf3856ad443e35";
                    foreach ($fastSnapinName in $FastSnapinNames)
                    {
                        $fastSnapinPath = $PowerShellSnapinsPath + $fastSnapinName;
                        $assemblyNameProperty = Get-ItemProperty -Path $fastSnapinPath -Name "AssemblyName" -ErrorAction SilentlyContinue;
                        if ($assemblyNameProperty -ne $null -and (-not [string]::IsNullOrEmpty($assemblyNameProperty.AssemblyName)))
                        {
                            $newAssemblyName = $assemblyNameProperty.AssemblyName -ireplace ($officePublicKey, $exchangePublicKey);
                            Set-ItemProperty -Path $fastSnapinPath -Name "AssemblyName" -Value $newAssemblyName;
                        }
                    }
                }
                catch
                {
                    \# Info only log
                    Write-ExchangeSetupLog -Info ("An exception ocurred while configuring Search Foundation PowerShell Snapin. Exception: " + $_.Exception.Message);
                }
            }
        " was run: "System.Exception: Failure configuring SearchFoundation through installconfig.ps1 - Error occurred while configuring Search Foundation for Exchange.System.TimeoutException: This request operation sent to net.tcp://ex01.hosted.lan:3803/Management/AdminService did not receive a reply within the configured timeout (00:01:00).  The time allotted to this operation may have been a portion of a longer timeout.  This may be because the service is still processing the operation or because the service was unable to send a reply message.  Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.

Server stack trace: 
   at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.Ceres.CoreServices.Admin.IAdminServiceManagementAgent.UpdateConfiguration()
   at Microsoft.Ceres.Exchange.PostSetup.NodeManager.AddNodeAndUpdateConfiguration(String node)
   at Microsoft.Ceres.Exchange.PostSetup.NodeManager.DeployContentEngineNode()
   at Microsoft.Ceres.Exchange.PostSetup.DeploymentManager.Install(String installDirectory, String dataDirectoryPath, Int32 basePort, String logFile, Boolean singleNode, String systemName, Boolean attachedMode)
   at CallSite.Target(Closure , CallSite , RuntimeType , Object , Object , Object , Object , Object , Object , Boolean )
   at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl)
   at Microsoft.Exchange.Management.Deployment.WriteExchangeSetupLog.InternalProcessRecord()
   at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
   at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)".
Exchange Server Management
Exchange Server Management
Exchange Server: A family of Microsoft client/server messaging and collaboration software.Management: The act or process of organizing, handling, directing or controlling something.
7,339 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Philippe Levesque 5,681 Reputation points MVP
    2022-01-19T04:16:46.017+00:00

    Hi, please use the latest CU and try again.

    It's the CU22 and it fix a lot of problem. (https://www.microsoft.com/en-us/download/details.aspx?id=103478)

    You dont need to install other previous CU to install that one.

    0 comments No comments

  2. Olajumoke O. Toriola 1 Reputation point Microsoft Regional Director
    2022-08-26T12:01:42.71+00:00

    In my own case, i resolved this error by disabling these two services: - SolarWinds Security Event Manager Agent and SolarWinds Security Event Manager USB-Defender. Also, the Windows Defender and DPM Agent on the server were turned off.

    Hope this helps..

    0 comments No comments