by lunarg on September 3rd 2015, at 10:58

If you have configured Blackberry Enterprise Server to use EWS for calendar access and free/busy information lookup, you may encounter the following errors in the logs of the BES server:

[20751] (03/26 00:03:31.030):{0x1CE4} {} WSUser::SetUser - Failed to create EWS:: Service: HRESULT 80040154, EWS.DLL possibly not registered or mismatched in version
[30000] (08/31 17:19:04.565):{0x24C} {Agent Startup}-CalHelperController::InitializeEws- COM Exception: Code = 80004003, WCode = 0000, Code meaning = Invalid pointer, Source = <none>
[30000] (08/31 17:19:04.565):{0x24C} {Agent Startup}-CalHelperController::InitializeEws-Description = <none>
[30000] (03/24 09:43:32.711):{0x15FC} {Agent Startup}-CalHelperController::InitializeEws- COM Exception: Code = 80040154, WCode = 0000, Code meaning = Class not registered, Source = <none>
[30000] (03/24 09:43:32.711):{0x15FC} {Agent Startup}-CalHelperController::InitializeEws- Description = <none>
[40000] (05/18 14:52:59.937):{0x38C4} {} EwsMailboxManager::GetEwsProxyService - Failed to get EwsService, HRESULT = 8002802b
[40000] (05/18 14:52:59.937):{0x38C4} {}-EwsMailboxManager::GetService- Retrying 1 more time

The reason for this is that the EWS.dll assembly has not been registered in .NET Framework.

To resolve, manually register the EWS.dll assembly:

  1. Open an elevated command prompt.
  2. Navigate to the installation location of BES (by default: %PROGRAMFILES%\Research In Motion\BlackBerry Enterprise Server):
    cd "\<path to Blackberry Enterprise Server directory>"
  3. Run these commands in order:
    "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe" /tlb EWS.dll"
    CalHelperWS.exe /regserver
    All commands should complete succesfully (i.e. without errors).
  4. Reboot the server or restart all BES services (whichever you prefer).