To upgrade Exchange 2010 SP1 to SP2 requires the addition of an additional Windows server role that was not listed on the RTM and SP1 requirements.
Therefore if you try an upgrade you will get errors about "IIS 6 WMI Compatibility” not being installed.
To install this feature quickly on Windows Server 2008 R2, bring up PowerShell and enter the following commands:
You can then proceed with the SP2 installation. This role feature is required for Mailbox and CAS roles and specifically for the new OWA Mini feature that Service Pack 2 introduces.
If you are running Exchange 2010 on Windows 2008 (not the R2 version) then the above PowerShell command does not work. Instead you need to install the prerequisites with the following (from an administrative command prompt):
ServerManagerCmd -install Web-WMI
But is this really the only new prerequisite? If you take a look in the exchange-typical.xml file found in the service pack download (in the scripts folder) then you will see a long list of prerequisites, and more than just Web-WMI is new since Service Pack 1. The full list of prerequisites are:
NET-Framework, RSAT-ADDS, Web-Server, Web-Basic-Auth, Web-Windows-Auth, Web-Metabase, Web-Net-Ext, Web-Lgcy-Mgmt-Console, WAS-Process-Model, RSAT-Web-Server, Web-ISAPI-Ext, Web-Digest-Auth, Web-Dyn-Compression, NET-HTTP-Activation, RPC-Over-HTTP-Proxy, Web-WMI
But are they all needed? Only having Web-WMI missing from an SP1 install stops the service pack from being installed, but I suppose that for your own sanity you would install all the prerequisites even if they appear not to be!
Therefore if you run Windows 2008 R2 it is best to run (from PowerShell):
Add-WindowsFeature NET-Framework, RSAT-ADDS, Web-Server, Web-Basic-Auth, Web-Windows-Auth, Web-Metabase, Web-Net-Ext, Web-Lgcy-Mgmt-Console, WAS-Process-Model, RSAT-Web-Server, Web-ISAPI-Ext, Web-Digest-Auth, Web-Dyn-Compression, NET-HTTP-Activation, RPC-Over-HTTP-Proxy, Web-WMI
And if you run Windows 2008 then execute as an administrator:
ServerManagerCmd -install NET-Framework RSAT-ADDS Web-Server Web-Basic-Auth Web-Windows-Auth Web-Metabase Web-Net-Ext Web-Lgcy-Mgmt-Console WAS-Process-Model RSAT-Web-Server Web-ISAPI-Ext Web-Digest-Auth Web-Dyn-Compression NET-HTTP-Activation RPC-Over-HTTP-Proxy Web-WMI
Or, skip all this and just install the service pack from the command line (administrative rights of course) with the following command to install all the required updates and prerequisites:
setup /m:upgrade /InstallWindowsComponents
Blog updated 6th Dec to cover the installation on Windows 2008 and to point out the difference for Windows 2008 R2