Manually Repairing a Sitemap. Part 1

As I mentioned a couple of week ago, my upgrade from CRM 2013 to CRM 2015 did not go well. One of the issues is my SiteMap was totally broken and I had to replace it with the “default.”

The only problem was I wiped out the custom entries for my marketing package, Click Dimensions.

No problem, I thought, I’ll just add the solution back.  Except that did not work.  I ran into ghost SiteMap entries from a previously remove solution. This required a call to Microsoft Support to get them corrected.

Once corrected, I was successfully able to import the solution.  Except there were no custom SiteMap entries.

Only only solution in this case is to manually add them, which involves this process:

The Process

1. Create a new solution.

2. Add the SiteMap to the solution.

3. Export the solution as unmanaged.

4. Unzip the solution files.

5. Take the solution file from the package you are attempting to import and unzip it as well.

6. Open the customization.xml file from step 4 in an editor like Visual Studio or Notepad++.

7. Open the customization.xml file from step 5 in an editor like Visual Studio or Notepad++.

8. Copy the information from the step 7 SiteMap and paste it into the proper location within the step 6 SiteMap.

9. You will need to remove some XML attributes that are specific to the Solution Import process. Here is an example:

<Group Id="Extensions" ResourceId="Group_Extensions" ordinalvalue="5" solutionaction="Added" />

You need to remove the any reference to ordianvalue and solutionaction.

10. Save the step 6 customization.xml file.

11. Re-Zip the files from step 4.

12. Import the solution back into CRM.

13. Refresh your browser and see if the SiteMap changes worked.

Things to Know

I did not get into great detail about the SiteMap itself because you really have to understand how it is organized and all of the components that are involved. If you do not understand these things, you can damage the SiteMap and render your CRM system inaccessible.

Before you start anything like this, please know and understand what you are doing.  See the references below.

If all else fails, open a case with Microsoft.


Edit the site map

SiteMap XML reference

SnapShot! 3.7 for Dynamics CRM is Available

My Dynamics CRM documentation tool, SnapShot!, version 3.7 is now available.

This version includes the following enhancements and corrections:

  • Compatibility with Dynamics CRM 2015 Online Update 1
  • The Entity and Field reports now have the GUID for each which I have found very useful when troubleshooting solution import issues.
  • Organizations with a large amount of customization are now better handled and will not encounter issues when exporting entities with large numbers of fields.
  • Issues encountered (randomly) when working with Dynamics CRM organizations that where previously created using Dynamics CRM 4.0 or before, have been corrected.

Visit the SnapShot! product page for more information.

July Webinar: Becoming a Dynamics CRM Technical 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

Free Dynamics CRM Webinars in June

Hi Everyone,

In June we will be conducting the following free webinars:

Dynamics CRM Portable Business Logic

Learn the basics of configuring Portable Business Logic as an alternative to writing JavaScript.

Tue, Jun 9, 2015 11:00 AM – 12:00 PM CDT (GMT –5:00)      Register Now

Dynamics CRM Team development best practices

In this webinar we will be discussing best practices when working in a team development environment.

Tue, Jun 23, 2015 11:00 AM – 12:00 PM CDT      Register Now


Again, if you have any suggestions, then please visit my Google Moderator Site (good through the end of June), and up-vote or add your own topic or suggestion.

Thanks, Mitch

Announcing my Mentoring Program

Hi Everyone,

I decided to formalize my mentoring program to hopefully open the door to more organizations. This is a process that I conduct for customers on a fairly regular basis which fills a niche and a requirement when you need assistance, but do not have the need or budget for a full-blown consulting engagement.


I often run into customers who need additional help with either an architectural issue or a project they are working on. Many times, they do not have a need for a full-blown consulting engagement, but need to have access to someone they can bounce ideas off of when they hit a roadblock or a fork-in-the-road and need help with an architectural decision.

How it Works

When you sign up for our Mentoring Program, you are actually purchasing five hours of advisory services at a discounted rate.

We typically work out a schedule of conference calls or screen-shares in blocks of 30 or 60 minutes, depending on your requirements. This can be weekly calls, bi-weekly,or as required.

Typical Scenarios

Here are a few scenarios that I have done in the past:

  • Architecture design questions
  • Skills development roadmap
  • Training program design
  • "What-if" scenarios
  • Code-reviews

For More Information

To sign-up visit our Mentoring Program page.


Thanks, Mitch

Don’t forget: June 1st: Turn your .NET developer into a Dynamics CRM Developer

Hi Everyone,

I just wanted to remind you that my Dynamics CRM Developer course is coming up on June 1st, so if you have any of your .NET developers that you want to get training on Dynamics CRM development best practices, then now is the time to register.

Course Description

If you are looking to get started with Dynamics CRM development, and are looking for an instructor-led, hands-on workshop, then let me introduce you to Extending Dynamics CRM. In case you did not know, Microsoft decided to only offer the Extending Dynamics CRM course via eLearning, starting with Dynamics CRM 2013 eLearning, which is a self–study program, is great for many people, but I think students gain a tremendous amount of learning and understanding from having an instructor who works with Dynamics CRM development on a daily basis. This student-instructor interaction combined with the ability for the student to ask questions and obtain clarifications, makes this course all the more valuable.


This class is taught by Mitch Milam, nine–time Microsoft Most Valuable Professional for Dynamics CRM and an independent consultant specializing in Dynamics CRM architecture, development, and training.


We have taken the topics normally covered by the official Microsoft Extending Dynamics course, and expanded their depth quite substantially. Instead of a three–day course, this is a five–day course with most of the extra content being the addition of a large number of hands–on labs. The information covered is relevant to both Dynamics CRM 2013 and 2015.


Monday, June 1st through Friday, June 5th. Class starts at 8:00am CST and will last five or six hours per day, depending on the topic. Please budget the entire day so that you have time to complete the homework assignments.


This is an Internet-based workshop. Classroom time and discussions will be facilitated using GotoMeeting. Each student will be given their own virtual development environment for the duration of the course. This will allow for the completion of labs and homework without causing conflicts with the other students.

How Much:

$1,995 per student (discounts are available for more than one student).

 Eventbrite - Extending Dynamics CRM (June)  

Need More Information?

If you would like to get more information on this class, then please visit the training overview page:

Solution: Cannot load shared project in Windows Universal app after upgrading to Azure SDK 2.6

If you had any Visual Studio projects using the Shared Project model, you probably noticed that the installation of the Azure SDK 2.6 broke Visual Studio’s ability to work with, or create new, Shared Projects.

This was first posted on this thread in the Azure forums on May 1st and it is an absolute show-stopper. The only way around this bug was to downgrade to Azure SDK v2.5.1.

It now looks like we have a solution to the issue:

The build of Azure SDK 2.6 is now available, but it may not have propagated to all download servers yet. 

You can run the Web Platform Installer and if you don’t have the new build installed, it should allow you to install 2.6 again.  But it might not if you are accessing a download server that doesn’t have the new bits yet.  If WebPI doesn't allow you to install 2.6 again, then wait a few hours and try again. 

The build number for the version with the fixes is build 2.6.30508.1601. You can identify the build of the SDK from Control Panel -> Programs and Features -> Microsoft Azure Tools for Microsoft Visual Studio 2013 – v 2.6. The Version column will display the build number.

Chuck Weininger, Dev Lead, Microsoft


This is great news and hopefully we can get back to work.

Discovering Great Moments in UX Design

Every now and then, you run across something that is truly amazing. This happened to me today as I was looking for icons for the Dynamics CRM tablet application (also known as the MOCA app).  

There are several icons that I wished to reference in another mobile application. In the MOCA app, we have an interface that looks like this:


Part of the Dynamics CRM SDK, is a collection of all (or at least most) of icons used by the Dynamics CRM application –including all platforms.

I was quite surprised when I found the icons shown above.  You will find these icons in the CRM SDK installation folder, in this sub-folder:


The most fascinating thing about these icons, is how they are constructed. The only thing in the icon file, is the image in white.  Each image has a transparent background with some of the inner parts of the icon transparent as well so that you have a bleed-through effect of the background, through the foreground image.

This is significant because as a designer, you do not have to worry about changing the background color of the icon.  You just change the background color of the cell in which it resides and the effect to the user is that have a white and {whatever] color icon.

I am sure this is not an new technique, but I have never seen it used like this before and I think it is quite brilliant.

Hat’s off the the Dynamics CRM UX design team.

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.