Tuesday, 23 July 2013

Dynamics CRM 2011 Outlook Client Optimization

With the introduction of CRM rollups e.g. RU12 with cross browser support I've noticed the CRM Outlook client is struggling and crashing more often possibly due to all the new changes in the new rollups a number of tweaks and optimizations are available to improve the user experience when using the CRM outlook client.

Making CRM 2011 Outlook client stable
I've noticed Outlook clients started to crash randomly after the deployment of RU11 analysing Outlook.exe crash dumps revealed the issue was on SQL CE 3.0. A new version of SQL compact edition is available version 4.0 which as documented, handles memory better eliminating (or near) the out-of-memory crashes in Outlook while working with the CRM Outlook client.

The following Microsoft KB article documents how to upgrade SQL CE 4.0:
http://support.microsoft.com/kb/2616319

The process as per KB article:
  1. Install SQL CE 4.0
  2. Delete the CRM 2011 client current configuration and delete any cashed databases
    1. C:\Users\[user]\AppData\Local\Microsoft\MSCRM
      1. delete all *.sdf files
  3. EDIT the configuration wizard config file to load the SQL CE 4
  4. EDIT the  CRM client startup config file to load new assemblies.
  5. Open Outlook and confirm the new SQL CE is loaded as per below screenshot






















However I found that on random machines the configuration wizard failed to connect to CRM, the reason behind this was related with a configuration line on the configuration wizard config file:

<system.net>
    <defaultProxy useDefaultCredentials="true" />
  </system.net>


Removing the above code allowed the connection to be made. If you don't want to remove the above code from every user the following hotfix will resolve the issue:
CRM 2011 client x64
If you have the opportunity to instead of 32bits use the 64bits version of Office, then it would be strongly recommended to use the x64 it adds extra stability to Outlook and CRM client, as 64 bits has more room for memory allocation.

  Registry Keys
 As per the following KB http://support.microsoft.com/kb/2585157 the below registry keys will improve performance:

HKEY_CURRENT_USER\Software\Microsoft\MSCRMClient
NotificationPollInterval
set to 3600000 (Decimal)
StateManagerPollInterval set to 10 (Decimal)
ActiveCachesUpdatingPeriodMilliseconds set to 3000000 (Decimal)
IncrementalDataCachesInclusionUpdatingPeriodMilliseconds set to 6000000 (Decimal)
IncrementalDataCachesExclusionUpdatingPeriodMilliseconds set to 6000000 (Decimal

HKEY_CURRENT_USER\Software\Microsoft\MSCRMClient\{ORGGUID}
TagPollingPeriod set to 600000 (Decimal)
TagMaxAggressiveCycles 0
A couple of registry keys to consider as well:
HKEY_CURRENT_USER\Software\Microsoft\MSCRMClient
DisableMapiCaching 1
AddressBookMaterializedViewEnabled 1

CRM Settings
From CRM settings > administration there is a few settings that you should also consider to improve user experience:
System Settings > Outlook Tab you want to increasing the default values to reduce overhead on the server and on the user side:

Privacy Settings > Error Reporting here you can configure centrally all users settings on how to deal with Microsoft errors, the advantage here is that you reduce the noise on the user side.

Conclusion
I've covered a few known optimizations, the most impact is SQL compact edition 4 so I strongly recommend you upgrading your outlook client deployment. I hope this was helpful please leave any questions or feedback.

2 comments:

  1. Microsoft CRM TRaining for all those businesses who want to remain in the competition

    ReplyDelete
  2. Searching for the Ultimate Dating Website? Create an account to find your perfect date.

    ReplyDelete