Resolved: The Outlook ribbon tabs and buttons disappear from Microsoft Outlook when you install Microsoft Dynamics CRM Client for Outlook

If you ever install Microsoft Dynamics CRM outlook client and you found that your Outlook 2013 or 2010 ribbon buttons and tabs have completely disappeared, then this is usually caused  because of registry keys that are left over from an earlier version of Microsoft Outlook.

You will find that Outlook ribbon tabs and buttons reappear if you remove or disable Microsoft Dynamics CRM client for Outlook, but that doesn’t really solve the issue.

Problem Resolution:

Please note that this issue resolution includes changing the registry. Make sure that you back up the registry before you change it. Please make sure that you know how to restore the registry if a problem occurs. This post is provided as is without any warranties.

To resolve this issue, follow these steps :

  1. Exit Outlook.
  2. Click Start, click Run, type regedit, and then click OK.
  3. Locate the following registry subkey:
  4. Right-click the 2.4 registry key, and then select Export. Save the export to your desktop to create a backup.
  5. Right-click the 2.4 key again, and then select delete.
  6. Start Outlook.

You should now have all your Outlook ribbon buttons and tabs back including Microsoft Dynamics CRM ones. You won’t need to disable or remove CRM outlook client to get your tabs back.

More information and details about the problem can be found at the following link:

Hope this helps!

The “Ideal” Microsoft Dynamics CRM Demo Environment #MSDYNCRM – Introduction & Links

Very often you need to have a nice and quick Microsoft Dynamics CRM 2011 demo environment either for a presentation, a Pre-Sales demo for a bid or in response to an RFI or RFP.

This post is covering what I believe is the ideal demo environment and how you can do it quickly.

In my view, the ideal environment will have at least:

  1.  CRM online instance integrated with
  2. SharePoint (Office 365) along with a
  3. Customer portal that is configured and contently managed within CRM and updates CRM directly,
  4. Bing Maps on the CRM Customer and Account forms (at least),
  5. Mobile Access to CRM
  6. Sample Data that can be presented in an elegant way on some powerful CRM Dashboards
  7. Some Social integration such as Twitter, Facebook and LinkedIn
  8. Lync and Skype integration within CRM for making calls.

Sounds a lot, right? Well, you can do a lot of this using Microsoft’s Demo Builder which is a great tool for anyone who wants to build a quick nice and clean demo with lots of features. You can find the Demo Hub or the Demo Builder:

Using the demo builder you should achieve most of the points I mentioned above. To get the customer portal, I suggest you use the ADX Studios community version of their Portals (Customer & Partner Portals). You can access it through this link:

As for the Mobile Access, I recommend using CWR Mobility demo solution and CRM Mobile Apps they built for iPhone, iPad, Windows Phone, Android and Blackberry. To get their demo solution, check this link:

The social integration can be achieved using InsideView which comes free with the Demo Builder. Just make sure you use the Demo Builder (Polaris version) if you want all the additional features. If you choose the Basic Empty Demo, you will get CRM and SharePoint with integration but without the additional features.

As for the Twitter, Lync and Skype Integration with Dynamics CRM, this will be the subject of a different post.

Do you have any additional recommendations for the “ideal” CRM demo? Please comment below with ideas, suggestions and any feedback on this post.

Hope this was useful.

Microsoft Dynamics CRM 2011 Reporting – Book Review

Packt Publishing has recently asked me to review the “Microsoft Dynamics CRM 2011 Reporting” book. I have just finished reviewing it and I found the book to be an excellent source for understanding reporting in Microsoft Dynamics CRM. It covers both the core reporting capabilities as well as the advanced dynamics CRM reporting features.

The book provides clear and valuable information about the basics of reporting, SQL Server, Dynamics CRM Entity Relationships and Database Basics. The book then delves into the Microsoft Dynamics CRM reporting capabilities starting with the simple Dynamics CRM report wizard to create Dynamics CRM reports and then focusing on the more advanced features. It introduces the SQL Report Builder and creating contextual and inline Dynamics CRM reports. It then briefly covers the use of reports and charts in Dynamics CRM dashboards. Finally the book discusses custom reporting and automation and the mobile client.

Overall the book is easy to read and has simple approach to explain complex reporting features in Dynamics CRM. I strongly recommend this book for Dynamics CRM reporting developers and other CRM consultants who want to understand more about the types of reports and capabilities Microsoft Dynamics CRM has.

Microsoft Dynamics CRM 2013 and Dynamics CRM Online Fall 13 (ORION) announced today

Microsoft Corp. today announced that it plans to make the next version of Microsoft Dynamics CRM available in the fall of 2013.

Available both online as Microsoft Dynamics CRM Online Fall ’13 and on-premises as Microsoft Dynamics CRM 2013, this major release will deliver more personal experiences to sales, marketing and customer care professionals.

Full details here:

The new release gives people the ability to access their information on a variety of devices;* introduces a new user experience that is fast and fluid, enabling people to access information that is relevant to their jobs; and delivers richer contextual information that helps people have deeper insights into customers and their needs. Microsoft Dynamics CRM also offers enhanced social collaboration capabilities, so users can connect with the right people, and the right resources, at the right time.

There will also be:

• A connection to MarketingPilot,

• Introducing new mobile client applications on iPad and Windows 8 tablets

• Providing capabilities for people to collaborate with each other and share customer knowledge through Yammer right within the CRM solution

• Connecting Lync and Skype seamlessly

• Netbreeze. As part of the Microsoft’s work to bring the capabilities of Netbreeze, its recently acquired social monitoring and analytics service, to customers, the company will also be offering a limited beta of the service available in fall 2013



Microsoft Dynamics CRM 2011 and Online Error Codes – full list of API Web Service Error Codes from SDK

Microsoft Dynamics CRM Error Code list of Web Service and API Error Codes. The following is copied from MSDN online and Microsoft Dynamics CRM SDK.

This topic lists the error codes you may encounter when debugging your code. You can find helper code for using error codes in the Microsoft Dynamics SDK download package in the folder SDK\SampleCode\CS\HelperCode\ErrorCodes.cs. In the same folder you will also find CrmErrors.xlsx, which is provided for an easy way to look up error information. For more information, see Handle Exceptions in Your Code.

The following table lists the error codes used in Microsoft Dynamics CRM. I have coped it into a post so that it is easy for me and hopefully for everyone else to pick these errors up. Please note that errors usually start with Ox which refers to the code being in hexadecimal. Error codes below do not have the Ox prefix. You need to remove it from your error code before you search.

Continue reading “Microsoft Dynamics CRM 2011 and Online Error Codes – full list of API Web Service Error Codes from SDK”

What’s changing, removed and not supported in the next major release of Microsoft Dynamics CRM – Orion

Microsoft has announced some significant changes in the next major release of Microsoft Dynamics CRM Online and Microsoft Dynamics CRM (on-premises), also known as Dynamics CRM Orion release. These changes are confirmed as of 18/06/2013 but may change before the release date.

Changes include the end of support Internet Explorer 7 for both Online (already ended) and On-Premise Dynamics CRM implementations. Also, Windows XP is no longer supported.

Most importantly, the Dynamics CRM 4.0 endpoints (2007 endpoints) are no longer supported in the next major release and Online organisations migrating from the Microsoft Dynamics CRM Online platform to the Microsoft online services environment (Microsoft Office 365), will need to upgrade or remove those extensions that require the 2007 endpoint.


Full details can be found here:

What’s changing on the implementation side:


What’s changing on the SDK side:



Update: 31/07/2013:

Following today’s Microsoft Dynamics CRM 2013 Blitz day by Microsoft for Dynamics CRM partners, here is a list of the main new features and functionality in Microsoft Dynamics CRM 2013 (Fall 2013):

  • Revamped and completely re-designed User Experience in Microsoft Dynamics CRM 2013
  • Flexible Business process and Process Agility in the new Microsoft Dynamics CRM 2013
  • Microsoft Dynamics CRM 2013 Mobile Client Applications available.
  • Social CRM with Microsoft Yammer Integration with Microsoft Dynamics CRM 2013
  • Outlook Client and Exchange Sync in Microsoft Dynamics CRM 2013
  • Microsoft Online Portal Administration in Microsoft Dynamics CRM 2013
  • Upgrade Process in Microsoft Dynamics CRM 2013
  • Business Rules with Dynamics CRM
  • Client Extensibility in Microsoft Dynamics CRM 2013
  • Extensibility on the Server and Cloud with Dynamics CRM
  • Microsoft Dynamics CRM as a Platform for Business Apps


More Updates soon.

Microsoft Dynamics CRM 2011 Cookbook – Book Review

Packt Publishing has recently asked me to review the “Microsoft Dynamics CRM 2011 Cookbook” book. I have just finished reviewing it and I found the book to be a good introduction to any new starters into the Dynamics CRM world.

The book has 10 chapters over about 380 pages. The book tries to cover all core features of Dynamics CRM including its installation, maintenance and administration. The book also provides a good overview on Data management and Dynamics CRM solutions management in chapters 4 and 5. It then tries to briefly explain customising Dynamics CRM using standard customisation and configuration capabilities. It also covers creating ribbon buttons, site map customisation and Microsoft Dynamics CRM Processes and Workflows. Finally, the book highlights the out of the box integration between Dynamics CRM and SharePoint.

I found the book to provide a good introductions to Dynamics CRM new starters at beginner-level. It helps their understanding of the Microsoft CRM software system and gives them basics on how to deploy, maintain, configure, and customize a Dynamics CRM 2011 applications.

The book also assumes the read has some basic IT Infrastructure knowledge and some functional knowledge of Dynamics CRM.

The book is available here: CRM 2011 Cookbook Pack Publishers


Difference between Dynamics CRM 2011 update rollup 12 Versus Polaris for Dynamics CRM Online

I’m sure several people were confused like me when they first heard about Update Roll up 12 and Polaris updates for Dynamics CRM.

In summary: Rollup 12 is the latest roll up for Dynamics CRM on-premise deployments while Polaris is the codename for the December 2012 Q4 release for Dynamics CRM Online.

Both updates have common features but Polaris have additional features that are not available for on-premise deployments and are not included in Roll up 12. This is mainly because changes applied online could massively affect on-premise deployments due to the nature of these changes.

To summarise the common new features between Dynamics update roll up 12 (On premise) and update code named Polaris for Dynamics CRM online: * Cross-browser support for web access allowing CRM access from browsers other than Microsoft such as Chrome, Firefox, etc.

* Update Rollup 12 includes new indexes for the following entities in the Quick Find Search Optimization feature:




•Contact (the Phone Number fields)

•Business Unit


•Connection Role

•KB Article



•Sales Literature


* New Dynamics CRM UX interface with different loading images from how it was before (this new design was needed for cross browser support).

* Update Rollup 12 also contains changes for SDK, metadata, and Activity Feeds.

The major features that is only available on Polaris for Microsoft CRM Online is the new process forms for the Sales and Service entities, which provide a flat user interface designed to keep everything on one screen and eliminate pop-ups. As part of this update, most of the core entities will have a new flat form that shows the information in a more intuitive way without the need to click on buttons or switch between popups. This includes the removal of the ribbon buttons (only for this form). This is just a new form and the original classic form is still available and can be switched back from process form to the new process form.

Here is a screenshot of the new process Customer Form from Polaris (CRM Online only):


New Process Forms



In more details, Dynamics CRM Online Polaris update includes:

• Changes in the Sitemap. • New Activity Feeds filters for better display of feeds data. • New process form with new structure and components (This was originaly called “Flow UI”) • The possibility of switching between New Process forms and Classic forms. • Extending case management functionality. • Ability to create leads for existing accounts.

You can download and install Update roll up 12 for on-premise MS CRM deployments here:

The following URL has more details about the difference between both updates:

Microsoft Dynamics CRM building developing and creating multiple Dependant pick lists / Option Sets / drop down menus

There are many different ways of how to create Dynamics CRM dependant picklist (option sets). Dependant optionsets is a common requirement where values in one option set field need to be filtered by a value chosen in another option set field. (For example: Multiple option set categories and sub categories based on value selected in the category field picklist).

Option 1:

The “official” approach to develop dependent picklists is explained in the CRM 2011 SDK here:

This article refers to the managed solution from the CRM SDK available in this location: SDK\SampleCode\JS\FormScripts

The rest of article shows how to implement this solution.

Option 2:

In my view, the following managed solution is the easiest way as it provides a SilverLight application to create a Dependent Picklist by using a user friendly interface.

You can see the details of this managed solution in the following MSDN blog post (by Microsoft France):

There is also another post related to this solution that provides solution to some issues:

Option 3:

Finally, the third way of configuring dependant option sets in Dynamics CRM is to do it via JavaScript. This can be done in various ways but below is one way of doing it (code provided by Palak Sheh):

First function : To only show options related to the selected value in another option set:

FilterOptionSet = function (OptionSetFieldName, filterOptionsText, failOnError) {

try {
   var arroptions;
   var arrfilteroptions;
   var control = Xrm.Page.ui.controls.get(OptionSetFieldName);
   if (typeof (control) == 'undefined' || control == null) {
   return !failOnError;
  arrfilteroptions = filterOptionsText.split(",");
  if (control.getControlType() == 'optionset') {
  arroptions = control.getAttribute().getOptions();
  for (var i = 0; i <= arroptions.length - 1; i++) {
  var removeItem = true;
  for (var j = 0; j <= arrfilteroptions.length - 1; j++) {
  if (arrfilteroptions[j] == arroptions[i].value) {
  removeItem = false;

if (removeItem) {
 catch (e) {
 if (!failOnError) {
    return true;
 alert('Error FilterOptionSet: ' + e.message);
 return true;

Second Function : To refresh the optionset everytime

RefreshPicklist = function (OptionSetFieldName, failOnError) {
try {
 var arroptions;
 var arrfilteroptions;
 var control = Xrm.Page.ui.controls.get(OptionSetFieldName);
 if (typeof (control) == 'undefined' || control == null) {
 return !failOnError;
if (control.getControlType() == 'optionset') {
   arroptions = control.getAttribute().getOptions();
   for (var i = 0; i <= arroptions.length - 1; i++) {
  catch (e) {
   if (!failOnError) {
   return true;
  alert('Error RefreshPicklist: ' + e.message);
  return true;