Testing CRM rollups and .NET versions

In this article I will talk about testing patches and how .NET versions can cause odd errors.

Rollups and CRM Version

I had a customer who was using CRM 2013 Service patch 1 and wanted to test their customizations still worked when CRM 2013 SP1 rollup 3 was applied.

Testing a new CRM service pack or rollup involves using a new server and CRM instance.

You can have many CRM organisations deployed on one CRM server but if you upgrade the CRM server it will effect all the CRM organisations and I don’t know any method to roll back rollups.

Why can’t you rollback CRM versions

To understand the question you need to think what happens (could happen) when you apply a rollup

  • Possible changes to the database tables
  • Update to CRM SDK
  • Depreciating certain functional in CRM SDK

Database changes

Microsoft might change the whole structure of the CRM database between service patches and rollups, which is one of the reasons Microsoft recommends you do not write any code/customizations/reports which run directly against the CRM database.  Microsoft provide filtered views and the CRM SDK for you to integrate the CRM database.

I think during the CRM 2013 update Microsoft used to have base and extension tables for each entity. e.g.

  • entitynameBase
  • entitynameExtensionBase

e.g.

  • accountBase
  • AccountExtensionBase

Here is some more information on the merging of tables, which explains how you can run the table merging as a separate job but you have to do it.

Run the base and extension table merge as a separate operation

I have written before about unsupported customizations before – Why you shouldn’t put unsupported customizations in Microsoft Dynamics CRM.  The primary reason you should avoid unsupported customizations is if you have to escalate an issue to Microsoft they offer limited support if you have unsupported customizations (because those customizations might be the cause of the behaviour/bug)

New functionality in CRM SDK and CRM

Usually (but not always)

  • Roll ups contains fixes
  • Service packs contain fixes and new functionality

New functionality doesn’t usually break anything but sometimes existing functionality might change.

The key point is the CRM SDK will have changed,

Old CRM SDK functionality depreciated

With one hand Microsoft giveth new functionality and the other hand they take functionality away (depreciate).

You should always read the What’s new for a new release of CRM – Why you should read the What’s new for developers because it lists not only the new functionality but includes what’s being depreciated in Javascript and CRM SDK.

Applied patches but stuff not working

I applied the rollup to CRM 2013 SP 1 rollup 3 but when I tried to test CRM, I noticed I was getting unusual errors.  The core functionality of CRM was working but I was getting errors when the plugins triggered calls to WCF web services.  Below is the error

The Web Service plug-in failed in OrganizationId: 3666c2e6-04f4-e411-80c9-000c292122be; SdkMessageProcessingStepId: 2ccabb1b-ea3e-db11-86a7-000a3a5473e8; EntityName: incident; Stage: 30; MessageName: Create; AssemblyName:
Inner Exception: System.TypeLoadException: Could not load type ‘System.Runtime.CompilerServices.ExtensionAttribute’ from assembly ‘mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′.
at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)
at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)

To find this error I had to turn on tracing and look into the event logs because CRM was not giving much information.

I have highlighted the key part of the error.

This article was useful

Could not load type ‘System.Runtime.CompilerServices.ExtensionAttribute’ from assembly ‘mscorlib

This seemed a classic DLL type error, this usually occur when you there are differences between .NET versions or DLL’s deployed.

In this particular scenario I could compare the .NET version installed on the working CRM environment and the .NET version and other DLL’s in the new upgraded environment.

So I needed to check the .NET version, Microsoft has a great page on this

How to: Determine Which .NET Framework Versions Are Installed

Be careful because you have to read it carefully.  I was checking the .NET versions in regedit (full instructions in the link above) and the folder said v4.  I was expecting a 4.5 folder, so I assumed it was version 4.

Its a better to know facts rather than making assumptions particularly when trying to find a problem.  In the example above I assumed the .NET versions where the same, which meant I then wasted time investigating other parts of the server and DLL’s looking for potential problems.

If I had read the article more carefully  it more carefully I would have noticed this very important section

The value of the Release DWORD indicates which version of the .NET Framework is installed.

 

The folder will be v4 but if this has been updated it will have a new Release registry value and the number in this registry settings tells you what version of .NET is installed

.NET versions

 

I found there was a DWORD value in the working CRM Server which indicates I had 4.5.1 installed

378675 .NET Framework 4.5.1 installed with Windows 8.1 or Windows Server 2012 R2

I checked on the server I was updating CRM 2013 SP 1 to rollup 3 and it only had .NET framework 4

What was happening was the web services were compiled with .NET 4.5 but when they tried to run on the new server it couldn’t find the correct dll versions, this caused the odd errors.

What I learnt

Don’t make assumptions – Know don’t assume.

If web services are not working check the .NET versions and look for the secret DWORD registry setting Release.

 

CRM 2011 – Rollup 10 now ready to download – yes rollup 9 will not be released

I saw on Rhett Clinton’s blog that Rollup 10 is ready to download

http://bingsoft.wordpress.com/2012/08/16/crm-2011-rollup-10-now-available/

Now for those of you who haven’t been keeping up, rollup 9 was cancelled and we have skipped to rollup 10!

if you want to understand what exactly is going on there is a useful description on an kb article which goes with the download

http://support.microsoft.com/kb/2710577

Update Rollup 10 for Microsoft Dynamics CRM 2011 is available. This article describes the hotfixes and updates that are included in this update rollup. This update rollup is available for all languages that are supported by Microsoft Dynamics CRM 2011.

Important note What happened to update Rollup 9 for Microsoft Dynamics CRM 2011?

Update Rollup 9 for Microsoft Dynamics CRM 2011 will not be released because of a delay in the Q2 Service Update. Update Rollup 10 fixes all the issues that would have been included in Update Rollup 9. For more information, go to the following Microsoft Dynamics website:

https://community.dynamics.com/product/crm/crmnontechnical/b/crmconnection/archive/2012/07/06/q2-2012-service-update-new-delivery-schedule.aspx

Additional Functionality:
Support with Microsoft Dynamics CRM 2011 and Microsoft Office 2013

Support with Microsoft Dynamics CRM 2011 and Windows 8

Support with Microsoft Dynamics CRM 2011 and Internet Explorer 10

Update Rollup 10 includes performance enhancements for retrieve multiple queries and Quick Find. For more information refer to the sections titled “Optimizing the Performance of Queries against Large Datasets” and “Optimizing the Performance of Quick Find Queries” within the Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure

white paper.

CRM 2011 – Update Rollup 8 released and speed improvement in rollup 7

So Rollup 8 is released, it seems like rollup 7 was only released last week.

looking at the dates rollup 7 was released on the 22/03/2012 and now rollup 8 is released 03/05/2012 (UK dates).

Firstly if you want to know the highlights of the new rollup, check out Donna Edwards blog

http://edwardsdna.wordpress.com/2012/05/03/mscrmur8/

she mentions a few interesting things

UR 8 is not Service Update 8.  Service Update 8, often referred to as Q2 2012 Service Update, is due out later in May.  Service Updates are delivered twice per year and contain new features.  Update Rollups are delivered more frequently throughout the year and contain issue resolution or fixes for known issues in the software.

it seems quite odd for Microsoft to have two rollups released so near each other.  I was wondering why this was so.

I can’t really see anything in update rollup 8 which would push forward a new rollup (Look on Donna Edwards blog or read all the fixes/enhancements here 

Maybe Microsoft pushed for the Update rollup 7 forward to fix the browsing hanging issues and improve performance.  To learn more about that read the blog post below from the CRM in the Field chaps.

Issues with Browser Hanging When Using CRM 2011

which talks about how the IE async operations running were causing problems.  There is also a reg fix

Fortunately we are able to increase the download limit in Internet Explorer to avoid issues caused by lack of download connections.  The Internet Explorer KB article KB282402 (http://support.microsoft.com/kb/282402) provides information on how to increase the download connection by adding a couple registry keys. It also has a “FIX IT” button that will automatically add the registry key and increase download limit to 10.

CRM 2011 – Update Rollup 7 for Microsoft Dynamics CRM 2011 (KB 2600643)

The rollups keep rolling up for CRM 2011 and this means we are closers to R8 and the big enhancements coming our way.

I have updated the wiki page with the all the rollup numbers and version which you can see by clicking the link below

CRM 2011 Build and version numbers

 

To download rollup 7 click the release below

http://www.microsoft.com/download/en/details.aspx?id=29221

Version: 05.00.9690.2165

The KB article is KB2600643

Just to remind you, you will need to have rollup 6 installed to use this.

It seems to have a lot of fixes in this release but I can’t really make out any new major functionality.

Enjoy

CRM 2011 – Rollup 6 still causing some problems

I will admit I didn’t download the withdrawn rollup 6 but I do feel sorry for anyone who did and put it on their live system.

I was reading Jamie Miley’s blog and he had an interesting post on people still having problems with rollup 6.  The blog post is called

Update Rollup 6 Causing Some Access Denied Issues – IgnoreTokenCheck Ramifications?

I thought I would add a blog post linking to Jamie’s to share the solution with people.

if you are having access denied problems, the solutions are below

Example with workaround: http://social.microsoft.com/Forums/en/crmdevelopment/thread/57032ef6-c690-4ab2-a7e1-21f1081e5350?prof=required

It seems you can add a IgnoreTokenCheck registry to fix the issue as a workaround.

HKLM>Software>Microsoft>MSCRM>IgnoreTokenCheck (Dword)=1

 

Go and read Jamie’s blog, this one and comment on the forum posting for this problem.

 

CRM 2011 – what is happening with CRM 2011 Rollup 6

There is a curious thing happening with rollup 6 of CRM 2011 it is the rollup that was available and then unavailable so quick that most people didn’t get time to download it (which might be a blessing when Microsoft tell the dynamics community why they took the download down).  So what is the current status of rollup 6.

The rumour on the internet is

Prob was in Outlook Sync. Was due for Win Update on 24th On podcast said they still hoped to meet that date. Not sure now.

One of the reasons I am writing this blog is to inform anyone who has downloaded rollup 6 not to deploy it (particularly not to a live environment) because I don’t think you can uninstall it and there might be a problem with it.

I believe it was meant to be released on January 12th, the support page exists and you can read go to it using the link below

Update Rollup 6 for Microsoft Dynamics CRM 2011 is available

but if you click on the link for the package

The following file is available for download from the Microsoft Download Center:

  Download the 2600640 package now. Release Date: January 12, 2012

you get redirected to the default download page

So to summarise

This KB exists but with links that don’t work – http://support.microsoft.com/kb/2600640

The direct download URL does not work: http://www.microsoft.com/download/en/details.aspx?id=28712

The Windows Update URL does not work: http://catalog.update.microsoft.com/v7/site/Search.aspx?q=2600640

It must be quite worry for people who installed rollup 6 whilst it was up for a short period of time because it cannot be uninstalled and now Microsoft have taken it offline I guess because of some bug?!?!

I then googled crm 2011 rollup 6 and found this interesting forum discussion, I shall copy a few of the interesting snippets from it.

One reason rollup 6 might have been withdrawn

there was some mention of an outlook crm client issue in the comments of this blog post:

http://blogs.msdn.com/b/crminthefield/archive/2012/01/12/podcast-and-overview-microsoft-dynamics-crm-2011-update-rollup-6.aspx

The forum post is very critical of the lack of explanation from Microsoft, which I have to agree with because there are some people who will have installed a rollup which cannot be uninstalled but they have no idea what is wrong with it or when rollup 6 is going to be released properly.

If anyone has any information please leave a comment