Exchange SP1 has now been released, so I thought I’d document the upgrade process for my small Exchange 2010 organisation, consisting of one CAS/Transport/Mailbox server, and an Edge Transport server.
The starting point is always working out if you *need* to upgrade – what’s the business argument. For that you need to look at what’s new in Exchange 2010 SP1, the release notes and prerequisites. Finally, the installation instructions for upgrading from Exchange 2010 RTM to SP1.
It’s important to note, as mentioned in the upgrade doc:
Note: After you upgrade to Exchange 2010 SP1, you can’t uninstall the service pack to revert to Exchange 2010 RTM. If you uninstall Exchange 2010 SP1, you will remove Exchange from the server.
Back up Active Directory and Mailbox Stores
Install the Exchange 2010 SP1 prerequisites
Upgrade the Edge Transport server
Upgrade the Hub/CAS/Mailbox server
All the advice I’ve seen so far is that the installer does a bad job at detecting and installing the prerequisites for SP1, with complaints about it leaving the server in an inconsistent state, and incorrect links, so I will install the prerequisites manually. There is an easy matrix to work out what hotfixes are required on the Exchange team blog - http://msexchangeteam.com/archive/2010/09/01/456094.aspx.
Both my servers are running Windows Server 2008 R2, so the hotfixes requires are
Some of these may well have been installed on the server already, but I downloaded them all to the same location as the SP1 file too so that the resources were available should I need them. Then I just went through the list installing, first on the Edge, then the Hub/CAS/Mailbox. Each hotfix does request a restart, but you can install them all and restart once.
Now is also a good point to install the MSMQ Server component on your CAS server, and also the Microsoft Office 2010 Filter Pack – you’ll see why when you get to my experiences installing the update to my Hub/CAS/Mailbox server.
There is a little bit of confusion in the docs around the order in which to install the roles – the clearest explanation in the Exchange blog says:
The Edge Transport server role can be upgraded at any time; however, we recommend upgrading Edge Transport either before all other server roles have been upgraded or after all other server roles have been upgraded
You can do it either way you like, I am installing the Edge first simply because I can see the process before upgrading the Hub/CAS/Mailbox server.
Running as a local administrator, I fired up the installer, which prompts and extracts the installer to a specified location
Run the Setup.exe – annoyingly, you have to select the language options first (why can’t it update the languages INSTALLED on the server – it’s an unnecessary step!)
If you got all the prerequisites right before, you should have a green light across the board (if not, I suggest you manually install them as discussed earlier).
And if all goes well, you’ll get the confirmation
I didn’t need to restart after the installation, I tested mail flow in and out of the server just to make sure everything was OK – it was.
Having used the Edge server as a bit of a test installation, running through the installer for Hub/CAS/Mailbox was just that, running through.
The prerequisites did fail on this hotfix (http://go.microsoft.com/fwlink/?linkid=3052&kbid=977020) and the Microsoft Office 2010 Filter Packs, both of which annoyingly did require a restart.
Once all prerequisites were fulfilled, the upgrade runs…and ran happily for 51 minutes, until I recieved this:
The error text is not particularly helpful.
Start-SetupProcess -Name “iisreset” -Args “/noforce /timeout:120
Searching through the System Event log, I found this error, pointing to the need for Message Queuing to be installed. This is a pretty fundamental miss by the installer team, not to check for a required service.
Once the Microsoft Message Queuing Server component is installed (and another restart later), I re-ran the upgrade, which thankfully restarts almost where it stopped off. Finally, another 38 minutes later – success!
I thought after all that my upgrade saga was over – not quite! While upgrading the management tools on my local Windows 7 box, I hit another mysterious error:
A Google search based on this error was not helpful at all, the one or two relevant posts were to do with the execution policy for PowerShell. Since I develop PowerShell scripts on this machine the policy is already set to “unrestricted” (Set-ExecutionPolicy unrestricted - Get-ExecutionPolicy to check). I checked that I had the prerequisites and tried again – only to fail with the same error.
Digging through the setup log, I found references to “tmlisten”
[09/10/2010 09:31:54.0020]  [ERROR] Unexpected Error
[09/10/2010 09:31:54.0020]  [ERROR] Service ’tmlisten’ failed to stop due to error:‘Cannot stop tmlisten service on computer ‘.’.’.
Tmlisten is the Trend Micro service, which requires a password to stop it – once the service was manually stopped, it installed ok. Can’t blame that one on the installer team!