Sunday, September 19, 2010

Solve Problems Synchronizing the 64-bit Outlook Client for Dynamics CRM 2010 Beta with the Online Server

The Microsoft Dynamics CRM 2011 for Outlook client requires both the 32-bit and 64-bit versions of SQL Server Compact SP2 v3.5.8082.0 (not 8080.0) to be present on the machine running the client, but the beta installer doesn’t install the 64-bit version and won’t overwrite existing 32-bit v3.5.8080.0 instances.

You must manually install 32-bit v3.5.8082.0 and 64-bit v3.5.8082.0 (in this order) in the language that you are using from:

before you attempt to synchronize the Outlook client with the online Dynamics CRM 2011 Server beta.

I believe the same requirement applies to on-premises servers, but I haven’t verified this yet. I haven’t been able to install the on-premises version, as reported in my Can't Install CRM 2011 Beta on Virtual 64-bit WinServer 2008 R2 guest OS and WinServer 2008 R2 host OSSubscribed thread of 9/12/2010 in the CRM 2011 Beta forum.

The links to install SQL Server Compact English versions in the Dynamics CRM 2011 Beta Readme file, which covers both the on-premises server and the Outlook client, didn’t work for me because they installed v3.5.8080.0. Following is the agonizing process by which I discovered and overcame the preceding issue:

imageAfter connecting to my OakLeaf Systems Dynamics CRM 2011 Beta online site, I downloaded and installed the Microsoft Dynamics CRM for Outlook client as recommended in the status bar (click images for full size screen captures):

The client virtual machine has an Intel DQ45CB motherboard with an Intel Core2 Quad CPU Q9950 2.83-MHz processor running Windows 7 as the guest OS with 3 GB RAM under Windows Server 2008 R2 as the host OS.

I was able to connect to the online server with IE8 (IE9 doesn’t work with Dynamics CRM 2011 Beta) and retrieve my sample organization data, as shown for sample contacts:

The Microsoft Dynamics CRM for Outlook client bits install add a CRM tab to Outlook 2010’s Fluent UI:

Completing the client installation or clicking the Configure Microsoft Dynamic [sic] CRM for Outlook button opens the Outlook Configuration Wizard and Microsoft Dynamics CRM for Outlook dialogs. Selecting CRM Online in the Server URL list and clicking Test Connection opens a login dialog that requires typing the Windows Live ID you used when applying for your Dynamics CRM 2011 Online Beta account:

Successful authentication fills the Organization and Display Name text boxes:

I clicked OK to start the synchronization process but received the "can't communicate with the server error" shown below when attempting to synchronize. Additional tries over the course of an hour incurred the same problem.

Microsoft’s Ekta Aggarwal suggested the problem might be due to a missing or incorrect version of SQL Server Compact Edition v3.5 on my test machine. According to the Microsoft Dynamics CRM 2011 Beta Readme’s “Microsoft Dynamics CRM for Outlook Known Issues” section near the end of the page:

Configuration of Microsoft Dynamics CRM for Outlook fails if you are using the 64-bit version of Office

Before you can configure Microsoft Dynamics CRM for Outlook, you must install both the 32-bit and 64-bit versions of Microsoft SQL Server Compact Edition, which is a prerequisite for Microsoft Dynamics CRM for Outlook. First, install both the 32-bit and 64-bit versions of SQL Server CE, and then install Microsoft Dynamics CRM for Outlook again.

Click the following 32-bit and 64-bit links to download and install SQL Server CE in the language that you are using:

I verified that both 32-bit and 64-bit SQL Server Compact 3.5 were installed with Control Panel’s Programs and Features component:

  • SQL Server Compact 3.5 SP2 x64 ENU (3.5.8080.0) installed by Visual Studio 2010 on 4/14/2010
  • SQL Server Compact 3.5 SP2 ENU 32-bit version (3.5.8082.0) apparently installed on 9/15/2010 during Outlook client installation.

I attempted to install 32-bit SSCE 3.5 SP2 from the readme link, which gave me a repair/uninstall option only. Attempting to repair resulted in the failure shown here:

Indeed there is an error (but not a network error). There was no Content.IE5 subfolder folder in the Temporary Internet Files folder on the machine.

The Outlook client logs setup operations in \UserName\AppData\Local\Microsoft\MSCRM\Logs\Crm50ClientConfig.log. The following log entries indicated the problem:

09:17:41|  Error| Exception : Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8082. Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.    at System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries()

09:17:41|  Error| Exception : Unable to load DLL 'sqlceme35.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)    at System.Data.SqlServerCe.NativeMethods.GetSqlCeVersionInfo(IntPtr& pwszVersion)
   at System.Data.SqlServerCe.NativeMethods.LoadValidLibrary(String modulePath, Int32 moduleVersion)
   at System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries()

I then Read FIX: You receive an error message when you run a SQL Server Compact 3.5-based application after you install the 32-bit version of SQL Server Compact Edition 3.5 Service Pack 2 on an x64 computer (KB article 974247 referenced above) and checked versions in Control Panel. As noted earlier, 64-bit was v3.5.8082.0 (probably from installing SQL Server 2008 R2) and 32-bit was v3.5.8080.0.

I reran a synchronization attempt and received the following error message:

09:17:42|  Error| Failed to configure Microsoft Dynamics CRM for Outlook with OakLeaf Systems.
09:17:42|  Error| Exception : Cannot configure the organization for Microsoft Dynamics CRM for Outlook. Try to configure the organization again. If the problem persists, contact your system administrator.    at Microsoft.Crm.Application.Outlook.Config.ConfigEngine.Execute(ActionCommand command, ServerInfo serverInfo)
   at Microsoft.Crm.Application.Outlook.Config.ServerForm.<InitializeBackgroundWorkers>b__3(Object sender, RunWorkerCompletedEventArgs e)

Note the lack of a message about SQL Compact 3.5 SP2 versioning issues. My setup log is on SkyDrive here. The above two installs are last in the log.

Removed and reinstalled the 32-bit and 64-bit versions from the links supplied by Ekta Aggarwal:

Synchronization succeeded. Here’s Outlook 2010 displaying the first few Dynamics CRM 2011’s sample contacts:

The full story is in my Is Anyone Else Having Problems Syncing the Outlook CRM 2011 Client with Dynamics CRM Online?Subscribed thread of 9/15/2010 in the CRM 2011 Beta forum.

The setup/install issues obviously need fixing before RTM.


Girish Raja said...

Great compile of the issue and steps to resolve it.