This week’s free webinar: Contracting, Outsourcing, and Partnering on your Dynamics CRM Projects

Hi Everyone,

Just wanted to remind you of next week’s free webinar.

In this webinar we will discuss the some general principles to keep in mind when working with contractors, outsourcers, and partners when you are implementing or customizing Dynamics CRM.

Wed, Jul 21, 2015 11:00 AM – 12:00 PM CDT       Register Now


Thanks,  Mitch

July’s Free Dynamics CRM Webinars

Here are the webinars available this month:

Dynamics CRM JavaScript Debugging Basics

We will discuss the basics of debugging your Dynamics CRM JavaScript should you encounter issues with your code.

Wed, Jul 7, 2015 11:00 AM – 12:00 PM CDT       Register Now


Contracting, Outsourcing, and Partnering on your Dynamics CRM Projects

In this webinar we will discuss the some general principles to keep in mind when working with contractors, outsourcers, and partners when you are implementing or customizing Dynamics CRM

Wed, Jul 21, 2015 11:00 AM – 12:00 PM CDT       Register Now

Next Week's Webinar: Becoming a Dynamics CRM Architect

Hi Everyone,

On Wednesday, July 1st, I’ll be holding a free webinar to discuss the requirements for a person to make the move from being a Dynamics CRM user, administrator, or developer, into becoming an architect of Dynamics CRM business solutions.

 What to expect

In this webinar we will be discussing the basic technical areas of expertise and skillsets that must be developed on your path to becoming an architect. In part, if not in full.

We will also be reviewing several CRM-related design scenarios which will highlight the types of things you need to consider when developing solutions for Dynamics CRM.

At minimum, I would expect you to come out of the webinar with at least a basic understanding of the types of questions that must be asked when designing Dynamics CRM-related solutions.

What I can use your help with

Feedback during the webinar will, of course, be accepted. In addition, I will send out a survey afterwards to help gather additional data points.

Who should attend?

Anyone who would like to further their knowledge related to solving business problems using Microsoft Dynamics CRM.


You must have working knowledge of Microsoft Dynamics CRM 4.0, 2011, 2013, or 2015. This is neither an Introduction to Microsoft Dynamics CRM or a development class, but you do need to know the capabilities of the product.


I am actually holding three sessions to accommodate attendees from around the world:

Session 1: UTC+1

Wed, Jul 1, 2015 8:00 AM – 9:30 AM CDT Register Now

Session 2: UTC-5

Wed, Jul 1, 2015 1:00 PM – 2:30 PM CDT Register Now

Session 3: UTC+10

Wed, Jul 1, 2015 7:00 PM – 8:30 PM CDT Register Now

(this translates to 10:00am, Thursday, July 2nd, in Sydney, AU)

Please let me know if you have any questions.

Thanks, Mitch

Dynamics CRM JavaScript Development Workshop is this week


Hi Everyone,

If you are interested in Dynamics CRM JavaScript development then please consider attending my workshop this coming Thursday and Friday.

This is an extremely hands-on workshop with tons of labs and as part of your experience, you’ll receive some goodies from my toolbox which is the same code that I use to help develop solutions for my customers.

To learn more or to register, please visit the information page.

Thanks, Mitch

Dynamics CRM 2015 Upgrade Error: Invalid column name 'EntityName'


I was upgrading a Dynamics CRM 2011 system last week and ran into an issue when attempting to import a solution that contained my Entity, Form, and JavaScript changes.

Invalid column name 'EntityName'

After looking around and finally asking for help from my fellow MVPs, Joel Lindstrom suggested the CRM community forum thread:

CRM 2015: Generic SQL error – Invalid column name 'EntityName'.

Which pointed to this thread as well:

CRM 2015 – Error after update 0.1

Root Cause

It turns out that the .01 update was “possibly” partially applied to the organization that I was attempting to upgrade. That first forum thread started off discussing the importation of a solution, which was my issue, but also mentioned that the available upgrade for the organization was available, but could not be applied.  The options seemed to be:

  1. Wait for the .02 release, which fixes the problem.
  2. Call Microsoft and ask for the hotfix.
  3. Run a very scary set of manual steps to correct the issue.


The solution to the issue is the modification of an XML file that ships with the Dynamics CRM software and the manual creation of some databases indexes.

I performed these very scary set of steps, successfully updated the organization database, and then was able to successfully import my solution.

Final Thoughts

I encountered the error performing a trial-run of the upgrade process on Friday.  When I performed the actual upgrade process itself, on Saturday, I did not encounter the issue at all.  Looking at the organization database within the Deployment Manager, I see that the second organization import upgraded the database to 7.0.1.xxxx as expected.

I have no idea what would cause it to fail one time and succeed the other.

Source code recovery tip: Was this written in c# or VB.NET?

Every now and again I run into the unfortunate circumstance where someone has lost the source code to a Dynamics CRM plugin (or something similar).

When you encounter this type of situation your only hope is to decompile the source using the plugin assembly’s DLL file and spend a good deal of time modifying the source code to get close to what the original author wrote.

Today my tool of choice is JustDecompile from the fine folks at Telerik.

Decompilation is not an exact science simply because the code the compiler ended up generating is not exactly like the code the author wrote. Most of the time this is caused by optimizations that the compiler has inserted which replace the original author’s code with code that it thinks is “better” or in some cases, just because.

So when reviewing a decompilation, it is sometimes hard to make a determination if what you see is compiler-generated or user-generated, especially when it is not your code. And I should note that I have seen a lot of code written by people whose main job was not that of a developer, who grabbed some code out of the Dynamics CRM SDK or off of the Internet to solve a problem, without really knowing what they were doing.

So when you look at the decompiled code, you are always asking: did they write it this way, or is this the way it was compiled?

Today I ran into something quite different.

First off, the using statements look very strange:


And some of the comparison operations used methods that I had never seen before:


Which is in the Microsoft.VisualBasic.CompilerServices namespace. 

Very odd.  Why would a developer writing C# use Visual Basic.NET assemblies?

The answer is: They would not.  This code was originally written in VB.NET, not C#.

So I am still going to use the C# decompilation code, but knowing that this was originally written in VB.NET helps me understand a little bit better some of the code that I am seeing.

Just another note to put into your book somewhere.

Xamarin Dev Days: Dallas

We had a huge turnout today in Dallas for Xamarin Dev Days.


Here we have @JamesMontemagno and @shawnweisfeld performing an equipment check.


View from the back as James was opening the day.

We had a really good turnout and the sponsors kept us fed and watered so that the chance of cannibalism simply was not possible. (something that I always worry about when stuck in an all-day meeting.)

It’s really good to see this many attendees at such an event and around half were new to Xamarin and I think they really got a great taste of what it is like to do cross-platform mobile development using the Xamarin development and testing tools.

Good job guys and gal!

Sharing information and lessons learned with other developers

Sign up for our new KnowledgeBits service and get news, tips and tricks and more, delivered straight to your inbox.