On Windows PowerShell and other admin-related topics

Installing Exchange Server 2007/2010 Update Rollups

Have you ever tried to install an Exchange Server Update Rollup which ended with an error message?

I recently did some troubleshooting on installing Exchange Server 2010 Update Rollup 3 and picked up some experiences I would like to share, in addition to provide some general guidelines for installing Exchange Update Rollups.

The installation may fail when installing either manually by downloading the installation package or by using Windows Update. Afterwards event 1024 are logged to the application log stating that the installation failed with the error code 1603:


This really doesn`t help much, and in addition to the failed installation all Exchange-related services are now stopped and disabled, leaving the server offline.

Start by restoring the service-state. First, enable and start Windows Management Service using an elevated Windows PowerShell prompt:

Get-Service Winmgmt | Set-Service –StartupType Automatic; Get-Service Winmgmt | Start-Service

Then run the ServiceControl.ps1 located in the Exchange bin-folder and the pass it the argument “AfterPatch”:


The server should now be restored to an operational state. Next, download the Exchange Update Rollup if you haven`t done that in the first installation attempt. Next, retry the installation from the elevated PowerShell promt using msiexec with the /lv parameter:

msiexec /lv c:\temp\ex-ur3-install.log /update C:\temp\Exchange2010-KB981401-x64-en.msp

This will instruct the Windows Installer service to log verbose output from the installation to the file specified. After the installation fails you will see an event with event ID 1023 logged to the Application log:


Next, open the log-file and look through it for error messages. The output in this file are really verbose, so you might want to ask for assistance in the Exchange Software Updates Forum on the Exchange Server TechCenter.

In my recent troubleshooting incident I found the following in the log-file:


This indicates that the servicecontrol.ps1 script failed to run correctly. As stated in KB-article 981474 this is caused by the defined PowerShell execution polices. For the installation to succeed, oddly enough, any execution policies must be temporarily undefined.

To see if any PowerShell execution polices are defined on the system, run Get-ExecutionPolicy –List:


In this case, an ExecutionPolicy was defined both locally and in a Group Policy Object. I first cleared the Group Policy setting and then the local setting using the following command:


Execute gpupdate /force and verify that all the ExecutionPolicies are set to “Undefined”:


Redo the steps described above to restore service-state and retry the installation. In this case the installation now succeeded:


At the end I will provide some general guidelines for installing Update Rollups in Exchange Server 2007/2010:

  1. Use elevated Administrator-privileges when running the installation either from Windows Update or by manually downloading the installation file.
  2. Verify that all Execution Policies are set to “Undefined”.
  3. Uninstall any interim Exchange hotfixes installed since the last Update Rollup.
  4. Verify that the ExchangeSetupLogs directory are present on the system-drive. The installer uses this directory for saving service-state information.

Please leave a comment below if you got any further guidelines. I will update this blog-post if I gather more information regarding installing Update Rollups.


April 20, 2010 - Posted by | Exchange Server 2007, Exchange Server 2010, Exchange Server management, Windows PowerShell |


  1. Nice post! Yes, this is a problem. We are looking at it as a top issue to address in the next rollup. The policies depend on the WMI Service being started and the ServiceControl stops and disables that when it stops the Exchange services. When we call out to powershell to restart services, the WMI service is disabled so the Group Polocy check fails as it requires WMI to be running and the powershell call fails. A more technical KB/Blog is going out shortly as well as other general patching blog posts

    Comment by Scott Roberts (Exchange) | April 20, 2010 | Reply

  2. Thanks, that sounds good!

    Comment by Jan Egil Ring | April 20, 2010 | Reply

  3. […] Posted by Ståle Hansen on 24/04/2010 tweetmeme_url = ''; tweetmeme_alias = ''; tweetmeme_source = '”stalehansen”'; Installing Update Rollups for Exchange 2007 and Exchange 2010 is not always a walk in the park. I have customers who ended up with no Exchange files, WebAccess files not present or all Exchange services set to disabled. The common solution is to run the Update Rollup in elevated mode and just re-run the Update Rollup. Jan Egil Ring has posted a comprehensive best practice to running Update Rollups and also provide som troubleshooting tips in this blog article: […]

    Pingback by Installing Exchange 2007/2010 Update Rollups « | April 24, 2010 | Reply

  4. Hi Jan,
    nice post. I followed your instructions and got to the final screen that confirms the successful installation of the rollup. The strange part is that when I try to check the build version of the exchange using:
    Get-ExchangeServer | fl name,edition,admindisplayversion
    I get the old build number – 14.0.639.21. Can you check on your servers if the build number has change. Here is a link with all builds:

    Comment by Vladimir Sotirov | June 15, 2010 | Reply

    • Hi, thanks for the feedback.
      The build numbers doesn`t change in the version numbers provided by Get-ExchangeServer between update rollups, only between new editions and service packs.
      You can find some information on this here:

      I`m not aware which way is the best to check for the latest buildnumber after installing Update Rollups, but one way might be checking the latest version number in the C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\Owa folder (CAS role only).

      Comment by Jan Egil Ring | June 15, 2010 | Reply

      • The best way to check for the version of the rollup is to look at exsetup.exe/ on the box. That would be the best way to check it.

        Comment by Scott Roberts (Exchange) | June 15, 2010

  5. Hej jan.

    Jag upplevde samma sak med rollup 4 för 2010. Tror det har kommit nya rekomendationer på hur man skall lägga på rollups nu.

    Comment by Roger Järnbrink | September 9, 2010 | Reply

  6. Saved my bacon thank you very much.

    Comment by alkemieau | November 10, 2011 | Reply

  7. Hi Jan, Now in my exchange 2010 sp2
    C:\Windows\system32> Get-ExecutionPolicy -List

    Scope ExecutionPolicy
    —– —————
    MachinePolicy Undefined
    UserPolicy Undefined
    Process Undefined
    CurrentUser Undefined
    LocalMachine Undefined

    But when I try to install rollup1 shows error 1023

    Product: Microsoft Exchange Server – Update ‘Update Rollup 1 for Exchange Server 2010 Service Pack 2 (KB2645995)’ could not be installed. Error code 1603. Additional information is available in the log file C:\Users\XXX\AppData\Local\Temp\MSI6c69.LOG.

    Any Idea

    Comment by Jason | March 6, 2012 | Reply

  8. Try running a cmd prompt as administrator and then starting the rollup installer from that.

    Comment by Gareth | May 22, 2012 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: