Exchange ServerTroubleshooting

Exchange setup prerequisite errors: UCMA, Visual C++, .NET, URL Rewrite, pending restart

Exchange setup stopped at Prerequisite Analysis? Match each readiness error to the missing piece (UCMA 4.0, Visual C++, .NET, URL Rewrite, Windows features, pending restart) and fix it.

Exchange setup won't touch a server until every prerequisite is in place, and its readiness checks tell you exactly what's missing once you know how to read them. In this post I'll map the common prerequisite errors for Exchange Server Subscription Edition (SE) and Exchange Server 2019 to their fixes (UCMA 4.0, the Visual C++ runtimes, .NET Framework, the IIS URL Rewrite Module, Windows features and pending restarts) and show how to prove the server is ready before you run setup again.

Errors this guide fixes

  • Prerequisite Analysis FAILEDExchange setup (unattended)
  • isn't installed on this computer and needs to be installed before Exchange Setup can beginExchange setup readiness checks
  • Microsoft Exchange Server setup cannot continue because a restart from a previous installation or update is pending.Exchange setup+1 more guide
How this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Get the complete list of failures; Clear the pending restart first; Add the Windows features; Install the runtimes in order; Run setup again from an elevated prompt). 4. Verify the fix. 5. Prevent it next time. Toolbox: ExchangeSetup.log, Web-Mgmt, Windows-Identity, UcmaRedistMsi, PendingFileRenameOperations.1Symptoms2Why it happens3How to fix it4Verify the fix5Prevent it nexttime1Get the completelist of failures2Clear the pendingrestart first3Add the Windowsfeatures4Install the runtimesin order5Run setup againfrom an elevated…TOOLBOXExchangeSetup.logWeb-MgmtWindows-IdentityUcmaRedistMsiPendingFileRenameOperationsHow this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Get the complete list of failures; Clear the pending restart first; Add the Windows features; Install the runtimes in order; Run setup again from an elevated prompt). 4. Verify the fix. 5. Prevent it next time. Toolbox: ExchangeSetup.log, Web-Mgmt, Windows-Identity, UcmaRedistMsi, PendingFileRenameOperations.1Symptoms2Why it happens3How to fix it1Get the complete list of failures2Clear the pending restart first3Add the Windows features4Install the runtimes in order5Run setup again from an elevated prompt4Verify the fix5Prevent it next timeTOOLBOXExchangeSetup.logWeb-MgmtWindows-IdentityUcmaRedistMsiPendingFileRenameOperations
At a glance: how this guide is organised · 5 fix steps · 5 key tools

Symptoms#

In the setup wizard, the Readiness Checks page lists one or more errors and you can't continue. An unattended run reports Prerequisite Analysis FAILED and then prints each failed check. Two messages you'll meet often (each appears on its own when that check fails):

Text
The Windows component RSAT-Clustering-CmdInterface isn't installed on this computer and needs to be installed before Exchange Setup can begin.

Microsoft Exchange Server setup cannot continue because a restart from a previous installation or update is pending.

Missing Windows features are reported in the first form, with the feature's name. A missing UCMA 4.0 runtime (Microsoft documents this readiness check as UcmaRedistMsi), missing Visual C++ runtimes, a missing IIS URL Rewrite Module or an unsupported .NET Framework release each raise their own readiness error that names the component, usually with a download link. Every check is also written to C:\ExchangeSetupLogs\ExchangeSetup.log.

Why it happens#

Setup runs its readiness checks before it changes anything, and a single failed check blocks the install or upgrade. Microsoft Learn publishes one prerequisite list for Exchange 2019 and SE that applies to every supported Windows Server version; the only split is Desktop Experience versus Server Core (Exchange 2016 has its own page). For a Mailbox server:

PrerequisiteNeeded forTypical reason it's missing
Supported .NET Framework releaseAll rolesThe image carries a release that the supportability matrix doesn't list for your build. Unlisted releases, including minor and update-level ones, are unsupported.
Visual C++ 2012 and 2013 redistributables (x64)2012: all roles. 2013: MailboxOnly one of the two installed, or the x86 package instead of x64.
Server Media Foundation feature + UCMA 4.0 Core RuntimeMailboxUCMA attempted before the feature was added, or a different UCMA package than the one shipped on the Exchange media.
IIS URL Rewrite ModuleMailboxRequired since the September 2021 CUs (2019 CU11, 2016 CU22); the Emergency Mitigation service uses it to apply URL rewrite mitigations.
Windows features (IIS, WCF activation, clustering tools, RSAT-ADDS)Mailbox (Edge Transport needs ADLDS)Server built from a minimal template.
No pending restartAll rolesWindows Update, a feature install or an earlier Exchange update still waiting for a restart.

Two more requirements catch people out: the Remote Registry service must be set to Automatic (never Disabled), and Message Queuing (MSMQ) is no longer required, so you can remove it if an old build guide added it.

How to fix it#

1. Get the complete list of failures#

Fix everything in one pass instead of rerunning setup for each error:

PowerShell
Select-String -Path 'C:\ExchangeSetupLogs\ExchangeSetup.log' -Pattern '\[ERROR\]' |
  Select-Object -Last 20 | ForEach-Object Line

2. Clear the pending restart first#

Restart the server and run setup again before you install anything else. If the message survives several restarts, Microsoft's guidance is to run the Health Checker and the SetupAssist.ps1 script to see what is still flagged. You can also read the usual Windows markers yourself:

PowerShell
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending',
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired' |
  ForEach-Object { '{0} = {1}' -f $_, (Test-Path $_) }
(Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager').PendingFileRenameOperations

If PendingFileRenameOperations keeps coming back after restarts, find out which software writes it rather than deleting the value blindly.

3. Add the Windows features#

The easiest route is to let setup add them with /InstallWindowsComponents (or the matching check box in the wizard); components added this way don't need an extra restart:

Command Prompt
D:\Setup.exe /Mode:Install /Roles:Mailbox /InstallWindowsComponents /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF

To check and add them yourself on a Desktop Experience server (on Server Core, leave out RSAT-Clustering-Mgmt, Web-Mgmt-Console and Windows-Identity-Foundation):

PowerShell
$features = 'Server-Media-Foundation','NET-Framework-45-Core','NET-Framework-45-ASPNET',
 'NET-WCF-HTTP-Activation45','NET-WCF-Pipe-Activation45','NET-WCF-TCP-Activation45',
 'NET-WCF-TCP-PortSharing45','RPC-over-HTTP-proxy','RSAT-Clustering','RSAT-Clustering-CmdInterface',
 'RSAT-Clustering-Mgmt','RSAT-Clustering-PowerShell','WAS-Process-Model','Web-Asp-Net45',
 'Web-Basic-Auth','Web-Client-Auth','Web-Digest-Auth','Web-Dir-Browsing','Web-Dyn-Compression',
 'Web-Http-Errors','Web-Http-Logging','Web-Http-Redirect','Web-Http-Tracing','Web-ISAPI-Ext',
 'Web-ISAPI-Filter','Web-Metabase','Web-Mgmt-Console','Web-Mgmt-Service','Web-Net-Ext45',
 'Web-Request-Monitor','Web-Server','Web-Stat-Compression','Web-Static-Content',
 'Web-Windows-Auth','Web-WMI','Windows-Identity-Foundation','RSAT-ADDS'
Get-WindowsFeature -Name $features | Where-Object { -not $_.Installed } | Select-Object Name
Install-WindowsFeature -Name $features

4. Install the runtimes in order#

  1. .NET Framework: the release the Exchange supportability matrix lists for your build and Windows Server version. Restart afterwards.
  2. Visual C++ 2012 and 2013 redistributables, x64: a Mailbox server needs both.
  3. UCMA 4.0 Core Runtime: only after Server Media Foundation is installed. Use the package in the \UCMARedist folder of the Exchange ISO; on Server Core it's the one you must use.
  4. IIS URL Rewrite Module 2.1 (x64 installer): after IIS is installed.

Then confirm what Windows actually has:

PowerShell
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').Release  # 528040+ = 4.8, 533320+ = 4.8.1
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
                 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' |
  Where-Object DisplayName -match 'Visual C\+\+ 201[23]|Unified Communications Managed API|URL Rewrite' |
  Sort-Object DisplayName | Select-Object DisplayName, DisplayVersion

5. Run setup again from an elevated prompt#

Start setup with an explicit path to the mounted ISO, such as D:\Setup.exe (or .\Setup.exe from the ISO root in PowerShell). On a server that already runs Exchange, a bare setup.exe can launch the copy in the Exchange Bin folder, because that folder is on the system path.

Tip: Building a new server? Make it Exchange SE. Exchange 2016 and 2019 reached end of support on 14 October 2025 (see your options after end of support).

Verify the fix#

  • The unattended run shows Prerequisite Analysis as COMPLETED and continues with the role installation; the wizard's readiness page shows no errors.
  • The feature query in step 3 returns nothing, and the runtime query lists the 2012 and 2013 x64 redistributables, UCMA 4.0 and URL Rewrite.
  • After installation, the Exchange Health Checker reports a supported .NET Framework release and no pending restart.

Prevent it next time#

  • Build Exchange servers from a script or checklist that installs the features and runtimes above, then patch Windows and restart before you mount the Exchange ISO.
  • Check the supportability matrix before a new .NET Framework release reaches your Exchange servers.
  • If your AD team owns the schema, prepare Active Directory as a separate step: see PrepareSchema and PrepareAD errors.
  • If an upgrade fails after the readiness checks pass, see recovering a failed Exchange upgrade.

References#

Revision history: Oct 2026 — re-checked against Microsoft Learn: 2 details reworded or labelled as reported by admins.

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)