Workaround | Error Installing UR2 for Microsoft Dynamics CRM 2013

If you have CRM 2013 installed on Windows 2012/R2 Server, you might see the below error message which prevents you from installing UR2.

18:06:21| Info| Error: Failed to install .Net 4.0 KB 2836939 update with return code: 1642
18:06:21| Error| System.Exception: Action Microsoft.Crm.UpdateWrapper.InstallDotNet4KBUpdate failed. —> Microsoft.Crm.Setup.Shared.SetupException: Failed to install required components: .NET 4.0 KB 2836939
at Microsoft.Crm.UpdateWrapper.InstallDotNet4KBUpdate.Do(IDictionary parameters)
at Microsoft.Crm.Setup.Shared.CrmAction.ExecuteAction(CrmAction action, IDictionary parameters, Boolean undo)
— End of inner exception stack trace —, Error, RetryCancel, Option1

Microsoft Support has documented the issue and the workaround here.

The issue is related to the installer failing to evaluate the installed .Net version with certain number formats set in the region control panel. This then attempts to install KB2836939 which cannot be installed in Windows 2012. The KB2836939 is an update for .NET Framework 4.0 which is only available for the following operating systems:

  • Windows XP Service Pack 3
  • Windows Server 2003 Service Pack 2
  • Windows Vista Service Pack 2
  • Windows Server 2008 Service Pack 2
  • Windows 7 Service Pack 1
  • Windows Server 2008 R2 Service Pack 1

Workaround as suggested by Microsoft support:

  •  Set  a standard number format in regional settings (e.g. decimal symbol = [comma], grouping symbol = [dot])
  •  Add below registry keys (recommended approach)
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2836939v3
      • String “ThisVersionInstalled” = “Y”
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2836939v3
      • String “ThisVersionInstalled” = “Y”

Decode the Error Codes in Dynamics CRM

Microsoft has done a fine job in documenting the web service error codes for all versions of CRM. The web service error codes for CRM 2013 can be found here.

The Error IDs documented on MSDN and CRM SDK are in hexadecimal format. For example, the error code ‘80040516’ translates to a ‘The opportunity cannot be closed’ error message. But when you encounter an error or an exception in your application, the error log displays the error ID in a decimal format. The same exception is displayed with an error code ‘-2147220202’. Searching for this error code on MSDN or CRM SDK may not fetch you the desired results.

What do you do next?

Open the Windows Calculator. Set the view to ‘Programmer’ (ALT + 3). Copy the decimal number and then select the ‘Hex’ option to convert it to a Hexadecimal number. The result displayed would be something like ‘FFFFFFFF80040516’. Strip the ‘FFFFFFFF’ and search SDK for the error code ‘80040516’. This will give you the required information on the error code.

New CRM 2013 Solution on CodePlex – Easy Navigate

I have a penchant towards exploring the Dynamics CRM 2013 related solutions posted on CodePlex. A recent solution which caught my attention was ‘Easy Navigate’.

You can download the ‘Easy Navigate’ solution on CodePlex here.

Solution Overview

The ‘Easy Navigate’ solution displays the entire CRM 2013 SiteMap in a single screen and with a Windows 8 style user experience.  Below are some of the features of the solution –

  • Windows 8 UI – The Windows 8 style ‘Tiled’ User Experience to access SiteMap. This user experience also aligns with the Windows 8 PCs and Tablets the users currently use.


  • Personalization to Tiles –Displays only what the user wants to see. The user can personalize the SiteMap by removing entities they wouldn’t need, and selecting only the entities they frequently use. The drag and drop feature within the solution serves the user to rearrange the tiles as per their preference.
  • SiteMap Search – The solution allows the user to search for any entity within CRM.


The only complaint would be that there is no control to add the entities back to the screen in case the users have accidently removed it. It would ease up work for the administrator if there is a control to add the entities back to the screen.

Overall, I see this as a very productive solution which enhances the user experience in CRM 2013. I would recommend evaluating this solution for your customers.

Great job by Amine Kouddane!

Cracking the UAT puzzle

The purpose of User Acceptance Testing (UAT) is to conduct user testing and also to obtain user acceptance sign-off for the Microsoft Dynamics CRM solution.


This involves testing of the end-to-end system to ensure that the system meets the customer business requirements.  These tests are performed on the UAT environment using actual transactions that would provide a good sample of their business.  The test results are then analyzed and compared to the original requirements and design.

Although the analysis may determine that the tests were successful, the customer may still request changes to the feature, data migration, or integration process. These changes are then taken up through the Change Control process. Once the changes are approved and implemented, the changes made to the system will be subject to individual unit and function testing, and will have to undergo UAT again.

Below are some of the considerations for a successful UAT:

Define the Test Objectives– The key here is to define test objectives for UAT testing. This is because a complete test execution for large application may not be possible in UAT phase. Testing should be carried out by prioritizing critical business objectives first. Think of what are the most important use cases or business processes that you would like to execute as part of UAT. One of the ways of identifying this is to understand how many different modules of CRM a specific process touches upon.

Create a Sandbox EnvironmentIdentify the key set of users who have defined the requirements and those who would potentially play a role during UAT. These are the power users. Deploy the configurations and customizations to the Sandbox environment and get these set of users to familiarize the work-in-progress solution. The benefits of a Sandbox environment are multi-fold – (1) the users get a feel of the application that is being rolled out for them. (2)Collecting valuable feedback which can be incorporated into the product either as part of the current release or the future releases. (3) No surprises to the customer and the system implementer during the UAT (4) both parties have a head-start through these informal trainings.

Drive Product Familiarization WorkshopsInvite the power users for a product familiarization workshop. The product familiarization workshops can happen at various milestones of the project – for e.g. – midway of design phase, end of design phase, midway of development phase, end of development phase. The aim of the product familiarization workshops is to introduce the new set of configurations and customizations made to the CRM system. This is another way of acclimatizing the users to the work-in-progress solution.

Setup the UAT Environment and Real-world test dataProvide a heads-up to the customer IT team on the UAT Plan and execution dates will in advance. This information would help the customer IT team to organize the servers required to model the production environment setup, along with the real-world test data. Prepare a Pre-UAT checklist which defines the tasks that the customer IT team and your development team are responsible for. Track the check-list to completion.

Pre-UAT TrainingBy now, you will have the list of all the users who will participate in UAT. You already have a head-start as a subset of the UAT users (power users) knows how to operate the system. These power users can be your advocate during the Pre-UAT training and the UAT phase.

a.    Set the UAT AgendaIt is very important to set the UAT Agenda and UAT users accept the agenda. The time allotted will vary depending on the functionality being tested. Ensure that the test schedule allows for the resolution of issues and discussion.

b.    Highlight the Acceptance CriteriaHighlight the criteria to determine system acceptability. Your reference should always be the use cases, functional requirements and functional design gathered as part of the earlier stages of the project.

Collect User FeedbackHandhold the UAT users. Even though the product familiarization workshops and pre-UAT trainings have been imparted, some of the UAT users might lose their way. It is the responsibility of the Functional Consultant to bring them back on track. During UAT, collect feedback from the end-users – the feedback could be related to the processes or the usability or the design. The feedback could be the first step in building a scope for the next phase of the CRM implementation.