Today I had to deliver a presentation in front of the French User Group of Exchange on the cool new capabilities of Exchange 2010 SP1!

As every IT Pro in the world, I started by downloading the SP1 beta from the following location: http://www.microsoft.com/downloads/details.aspx?FamilyID=a0965fc9-2723-4947-ae6b-74bc3808e72a&displaylang=en and started to look at the hidden gems from this release. The best place to start is the online documentation / help available here: http://technet.microsoft.com/en-us/library/ff459257(EXCHG.141).aspx

My demo environment is made of three virtual machines:

  • DC : Domain controller, Certification Authority, OCS 2007 R2 server
  • EX01: Exchange 2010 server running the following roles : MBX, CAS, HT
  • EX02: Exchange 2010 server running the following roles : MBX, UM

I turned off my VMs, and then took a snapshot for all of them and I was ready to go for the upgrade. In case something went wrong I had the opportunity to revert to my initial RTM settings. All went well for EX01 but EX02 was a little more complicated.

Here is the process you need to follow to perform the upgrade to Exchange 2010 SP1 UM:

  1. Uninstall all existing language packs but English (the one installed by default). The Exchange BPA will raise a warning in case this is not done before running the setup.
  2. Install the Unified Communications Managed API v2 core (UCMA core) available at his location : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e5e7aa8d-e110-4736-81ae-2ef81338b46b (Thanks to Scott from http://www.computer-talk.com/ for the link)
  3. The installation of UCMA Core will require the installation of VC++ 2008 x64 v9.0.21022. If it is not already installed, the deploy manager of UCMA 2.0 Core will install it.
  4. Install the Speech Platform Server Runtime (version 10.1) available here : http://www.microsoft.com/downloads/details.aspx?FamilyID=674356c4-e742-4855-b3cc-fc4d5522c449&displaylang=en
    Note the Exchange 2010 SP1 Beta BPA has a bug and does not report if the speech server runtime is installed or not.

If you do not perform this step (or if you do not install the Speech Server runtime), the MS Exchange Unified Messaging service will not start and errors similar to the following one will be logged in the event log:

Log Name: Application

Source: MSExchange Unified Messaging

Date: 6/28/2010 12:01:41 PM

Event ID: 1038

Task Category: UMService

Level: Error

Keywords: Classic

User: N/A

Computer: EX02.uc-demo.com

Description:

The Microsoft Exchange Unified Messaging service was unable to start. More information: "System.TypeInitializationException: The type initializer for 'BaseUMConnectionManager' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Rtc.Collaboration, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

File name: 'Microsoft.Rtc.Collaboration, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

at Microsoft.Exchange.UM.UMCore.OCS.UserNotificationEventManager..ctor()

at Microsoft.Exchange.UM.UMService.UMConnectionManagerHelper.BaseUMConnectionManager..cctor()

 

WRN: Assembly binding logging is turned OFF.

To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

Note: There is some performance penalty associated with assembly bind failure logging.

To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

 

--- End of inner exception stack trace ---

at Microsoft.Exchange.UM.UMService.UMConnectionManagerHelper.BaseUMConnectionManager..ctor(UMService umservice)

at Microsoft.Exchange.UM.UMService.UMConnectionManagerHelper.TCPConnectionManager..ctor(UMService umservice)

at Microsoft.Exchange.UM.UMService.UMService.InitializeConnectionManager()

at Microsoft.Exchange.UM.UMService.UMService.StartService()

at Microsoft.Exchange.UM.UMService.UMService.OnStartInternal(String[] args)"

 

  1. Now you can install the SP1 for UM !
  2. After the completion of the SP1 for Exchange 2010 you can install (or re-install) the language packs you like. Make sure you download the language packs for the beta version of Exchange 2010 SP1 available here : http://www.microsoft.com/downloads/details.aspx?familyid=EE7D3F0E-81BD-46CE-8F23-A38199E2C6EE&displaylang=en

    Note how many more language packs are available for download !!!

I hope you'll enjoy the other many new features of Exchange 2010 SP1 … more to come on this topic on my blog soon.