.Net 3.5 Sp1 Won’t install in Windows 8?

When you start using windows 8 and installing some software you might find that things won’t work.

The first classic problem is Windows Identity foundation 3.5 isn’t not enable

Also you will find you can’t install software as easily as you use it.  It has moved to a server type arrangement where you have to enable certain software rather than install it.

Sometimes you will find that although you download something like .NET 3.5 you can’t run the installer because you have to enable it in the add windows features.  The problem I was having was it threw an error when I tried to enable .NET 3.5

if you run into this problem this forum post has the solution


The answers from the page


Put the DVD in the drive or mount the iSO and run this from a CMD with adminrights:

dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs /LimitAccess

(replace D with your DVD drive). This installs .net 3.5.1 without internet access.



if your version is 8102

you can try this:

first put your windows 8 cd-rom and opne cmd runs as administrstor then input the order



dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs



d:is your CD-ROM

onther way

first put your windows 8 cd-rom and opne cmd runs as administrstor then input the order


xcopy d:\sources\sxs\*.* c:\net35 /s   (d: = CD-ROM)

Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:c:\net35 /LimitAccess

CRM 2011 – MB2-876 Exam Study Notes

I found a great study guide from the blog MSCRM Geek on the blog post below


The study guide is 107 pages long

If you want to download just the guide go here

MB2-876 Extending CRM 2011 Exam Notes.docx (1.92 mb)

I have to say it’s very generous of Jason Weibel to put his notes up and I will certainly use the notes whislt studying for this exam

Although I’m not sure if 100 page document is really study notes but this exam is a whopper

CRM 2011 – Advanced Bag of Tips & Tricks for Microsoft Dynamics CRM 2011 Developers

I bumped into this video this week and was very interested.  I don’t often see videos aimed for CRM Developers and even if you only get one tip out of the video it will be worth it when you use it over and over.

In TechEd New Zealand 2012 Gayan Perera pretested the presentation:
Advanced Bag of Tips & Tricks for Microsoft Dynamics CRM 2011 Developers


Whilst here I also found some other interesting presentations

Microsoft Dynamics CRM and Metro – 21st Century Business App Development


What You Need to Know to Upgrade from Microsoft Dynamics CRM 4.0 to Microsoft Dynamics CRM 2011


all the presentations can be downloaded, so you can watch them when you are travelling etc.

CRM 2011 – Understanding Email Tracking tokens

When you turn on email tracking in CRM 2011 the default method is to use tracking tokens which are attached to the subject of the email.

Some users instantly don’t like the funny text of CRM:0001001 added to their email subjects.

So why is it added and what does it do?

The reason a token is added is simply to create a unique identifier for each email discussion.  When the email is created in CRM it will use the token to find the entities/records to associate the email message in CRM.

Here you can see the default token settings


The benefit of using tracking tokens is it’s easy for CRM to link the email message with entities in CRM because it has a handy unique reference.

You can see from the picture above that you can turn off tracking tokens if you wish and by doing this it means CRM has to work a bit harder to try and match the email message with records in CRM.

So how does it match email messages now

it looks for matches in sender, receiver and subject keywords.  So basically if someone replied to an email you sent them then CRM would see the email sender, receiver has a match and the subject would be the same with a “RE:” added probably.

So turning off tracking tokens will make the subject look tidier but it may lead to some emails not automatically being matched.

In my experience CRM does a pretty good job matching emails using just smart matching and this probably because people don’t really change the subject of an email very often.

Dynamic Connector – Missing Icon

Sometimes you end up installing, uninstalling the Dynamic connector lots of times, especially in the bad old days where the connector would often forget your maps when you updated them.

Sometimes this can lead to the icon missing, I will also add they should create their own logo (BRAND IT)

I know it’s not a big deal and it’s really worthy of a blog post but it was really annoying me and it looked awful on a customer site.

if you click the change icon button it will pop up this path


to find the icon you need to replace %SystemRoot% which is refers to the directory where you installed Windows.  Mine is C:\Windows but I guess you could be radical and named the drive something else (is that even possible!).  You should end up with something like this


A word of warning you might not be able to just copy and paste the line above because your Dynamic Connector installation could have a different guid.  Although oddly I have two installations with the same guid (but on different machines).

CRM 2011 – “No Organization has been specified” in Visual Studio CRM 2011 Solution

I opened a visual studio CRM 2011 solution and got the message

“No Organization has been specified”

hmmm, I thought and then annoyingly I wasn’t able to add an organisation because the CRM Explorer toolbar was greyed out and inactive.

After sniffing around the files and the internet I found this forum post


So I moved the SUO file and then started visual studio again.

This time it asked me to fill in the CRM details and I could setup a link to the correct CRM Organisation.

[NAV Enumerated Values to Picklist] has encountered an error while processing key [Countries_Regions]. Sequence contains no matching element

If you get this error message in the NAV connector for the enumerated maps

[NAV Enumerated Values to Picklist] has encountered an error while processing key [Countries_Regions]. Sequence contains no matching element

This means you haven’t read the install documentation correctly (don’t ask how I know this!!) and you haven’t applied a hot fix.

Basically between version 1 and version 2 of the connector they added in a new map to the enumerated types, this was probably because I think the countries field used to cause problems when mapping, especially when a user would type in a massive long value.

You need to run through this hotfix


You basically add a few values to the integration code unit.

CRM 2011 – SPN’s can be hell

If you have installed CRM you might have been unluckily enough to come up against some SPN (Service Principal Name) problems.

SPN problems are usually difficult to resolve because it usually involves explaining to an IT department what SPN’s are and what they do and finally the changes that need to be made.

The changes usually have to be made on the Domain Controller which instantly makes the IT department very suspicious (although why they think you are going to sabotage a customers domain controller doesn’t make sense but then you could do it accidently)

So what are SPN’s, they are ways for helping Kerberos authentication when software is split over different servers.

For CRM they are very important because the standard installation involves CRM on seperate server and SQL and SSRS reporting services on at least one other server.  This will mean that when a user’s credentials will need to be passed between servers and that is where Kerberos comes in.

Rather than actually passing credentials CRM will impersonate the user and it will be validated by Kerboros on the different servers.

So how do SPN’s come into play, well a Hosky explanation is when you set an SPN it is basically saying that Kerbero’s authentication is ok on/from this server.

So usually for the CRM server it has an SPN for the crm service account something like

  • HTTP/CRMAppServer
  • HTTP/CRMAppServer.contoso.com
  • HTTP/CRM.contoso.com

and the for the CRM server

  • HOST/CRMAppServer
  • HOST/CRMAppServer.contoso.com
  • HTTP/CRM.contoso.com

The reason I am writing this blog is because although I have tried to explain it but also so I can always find the link I am going to post below, it is without doubt the most comprehension explanation with instructions I have found on the internet.


It also has lots of other links on how to troubleshoot spn problems.  I would also recommend the article above for people installing the Dynamic Connector because when I have installed that I have run into quite a few SPN problems and the Dynamic Connector has zero help with it and no forum!!!

CRM Online – Storage space, costs and Information

Today a salesman asked me how big our CRM database was?

A curious question I thought but then he was investigating how much space you get with CRM Online and how much it costs to buy more space.

I first thought I would see how big our internal CRM database, so if you want to do that there are a couple of ways

Open a SQL Server Management Studio and you can then right click on the database and go to properties

or you can run this in an SQL query



Our internal and hosted CRM database was only 8 gigs in size but how would this fit in with CRM Online pricing.

The CRM online pricing structure is certainly something to consider if you are thinking of moving your database from on premise to online because you get 5 Gigs free but then you have to pay a yearly bill for every gig over that.

finding information on the storage costs for CRM Online was surprisingly tricky, the CRM Online offical site was a maze of promotional adverts but very difficult to find the details of the storage costs (is this accidental?)

So you start with 5 gigs with Microsoft CRM Online, which is a decent amount, the interesting dynamic with online model is once you go over that 5 gigs then you will have to pay for the extra space on a yearly basis.  It’s important to understand the 5 gigs is for the account or organisation as a whole and not 5 gigs per user.

I’m not sure how much each extra gigabyte costs but I have seen prices ranging around £8 per year per gig.


If you have a lot of users tracking emails in CRM and emails with attachments I could see the database growing in size at quite a rate and it might be useful to change to sharepoint links rather than physical files (although sharepoint could be another cost of course).

This article suggests if you have a big database or think it would grow quickly you should think about using a hosted CRM environment with a 3rd party company who might offer a bit deal than Microsoft.  The article has many good points on CRM online and you can read it here


CRM does have some useful articles

10 tips on freeing up space


Running out of space in your CRM Online environment?


There is also a limit of 50 gigs and if you are approaching this you should contact Billing Support


Microsoft Dynamics CRM 2011 Installation and Deployment PASSED

After studying on and off for about 4 months I finally booked the exam and passed it.  It’s always a lovely feeling to have passed and not have to study for a while.  You can see more about the exam criteria here


here is a helpful quick guide to passing the exam (which I found afterwards!!)



The CRM 2011 Installation exam is a bit of weird one for me.  Some of the questions about group policy and SQL Server clustering are not something I have any experience with, so I am really relying on the training material and searching on the internet for exam criteria.

Once again I have found studying for the exam very useful, particularly as I have been doing a few installation recently.  The section on email router I read whilst struggling with setting up an email router and the incoming profile.

Some of the information helps reinforce my understanding of the separate components of CRM.  On installs I follow a document where I have to check the various prerequisites and SSRS afterwards and studying for this exam helped understand what was being installed and why.

It was also very interesting reading more about Internet Facing Deployment (IFD) because although I haven’t actually done this yet I have almost had to set it up a few times, so it’s good to get a bit of heads up.


So I will rest a bit before I start studying for the Extending CRM 2011, which although the training material is a lot longer, it should be a lot more interesting for me to study


Here is the course outline (http://www.microsoft.com/learning/en/us/course.aspx?id=80295a#tab2) and the training is available free online for Microsoft Partners, so all it will cost you is time and effort.


Module 1: Extensibility OverviewThis module introduces some of the basic concepts in Microsoft Dynamics CRM 2011, including a brief description of the xRM Application Framework, and the platform and features upon which it is built. The module also provides a review of the Security model, business logic, business entity and data access components.  Finally the module contains a list of helpful skills and resources to assist in the development process.Lessons

  • Objectives
  • Introduction
  • xRM Application Framework
  • Extensibility Platform and Features
  • Security Model
  • Business Model
  • Business Logic
  • Business Entity Components
  • Data Access Components and Platform
  • Helpful Skills
  • Resources
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions
After completing this module, students will be able to:
  • Describe how Microsoft Dynamics CRM 2011 is designed to be extended and the core extensibility features
  • Explain how the Security Model affects custom development and design.
  • Explain how “business logic” is incorporated
  • Explain how entities are structured and defined within the xRM Framework
  • Examine how data access is handled with the application
  • Recognize the skills developers will use to extend Microsoft Dynamics CRM 2011 and the resources available to them

Module 2: Common Platform OperationsThis module explains how to use a number of common methods to access both system and custom entities in Microsoft Dynamics CRM 2011.  It includes a detailed description of these methods and the available data types in the system. The module also contains a sample application that shows the audience how to create and update a Microsoft Dynamics CRM 2011 entity. Finally, it provides some helpful information about error handling.Lessons

  • Objectives
  • Introduction
  • WCF Web Services
  • Discovery Service
  • Early versus Late-Binding
  • Early-Bound Entity Class
  • Late-Bound Entity Class
  • Organization Service
  • Authentication and Authorization
  • Entity Information
  • Working with Data Types
  • Using the Create Method
  • Using the Retrieve Method
  • Using the Update Method
  • Using the Delete Method
  • Using the RetrieveMultipleMethod
  • Handling WCF Faults
  • Summary
  • Test Your Knowledge
  • Solutions

Lab : Lab 2.1: Creating Leads

  • Goal Description
  • Need a Little Help?
  • Step by Step
  • Step by Step

Lab : Lab 2.1: Account Management Application

  • Goal Description
  • Need a Little Help?
  • Step by Step
  • Step by Step
After completing this module, students will be able to:
  • Discuss the use and benefits of the Windows Communication Foundation
  • Use the Discovery Service web service to access Organization-level information
  • Explain the difference between early and late-bound classes
  • Use the code generation tool to create a file which contains multiple classes to use in early-bound code
  • Develop custom code that used late-bound classes
  • Reference and use the Organization Service
  • Explain security dependencies
  • Identify how Entity information is used with the Organization web service
  • Identify the different Microsoft Dynamics CRM data types
  • Use the Create method of the Organization Service class to create a new record in Microsoft Dynamics CRM
  • Use the Retrieve method of the Organization class to retrieve a single record
  • Use the Update method of the Organization Service class
  • Use the Delete method of the Organization Service class
  • Use the RetrieveMultiple method of the Organization Service class
  • Identify how to manage exceptions thrown by the Microsoft Dynamics CRM platform

Module 3: Querying Data and Executing OperationsThis module provides the audience a variety of ways to query the Microsoft Dynamics CRM database including: QueryAttribute, QueryByExpression, LINQ, FetchXML, Filtered views and OData. Additionally, the module describes the Execute method and explains how to use the OrganizationRequest and OrganizationResponse messages within Microsoft Dynamics CRM. Finally, the module explains how the Organization Service web service can be used to interact with Microsoft Dynamics CRM metadata.Lessons

  • Objectives
  • Introduction
  • Querying in Microsoft Dynamics CRM 2011
  • Query Expression
  • QueryByAttitude
  • LINQ Queries
  • FetchXML
  • Filtered Views
  • OData
  • Execute Method
  • Requests and Responses
  • Using the MetadataService Web Service
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab : Lab 3.1: Using QueryExpression

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step
  • Step by Step

Lab : Lab 3.2: Using LINQ to Perform, Create, Read, Update and Delete Operations

  • Goal Description
  • Challenge Yourself
  • Need a Little Help?
  • Step by Step
  • Step by Step

Lab : Lab 3.3: Using Fetch XML

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

Lab : Lab 3.4: Using FetchXML

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

Lab : Lab 3.5: Using Request and Response

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step #C
  • Step by Step Visual Basic. NET
After completing this module, students will be able to:
  • List querying options available to developers
  • Use the QueryExpression class to retrieve records based on complex criteria
  • Use the QueryByAttribute class for simple queries
  • Identify the benefits and appropriate uses of LINQ when querying and interacting with data
  • Demonstrate and explain the uses of FetchXML
  • Examine how filtered views can be used to access data by using SQL
  • Use and specify OData elements when querying
  • Use the Execute method of the Organization Service for more specific platform operations
  • Identify common Request and Response classes
  • Access and update schema information through he Organization Service web service

Module 4: Implementing Business ProcessesThis module explains how to develop custom workflow activities for use within Microsoft Dynamics CRM.  The functionality of Microsoft Dynamics CRM can be extended by writing custom workflow activities that run code when configured workflow or dialog rules are run.  In addition, the module describes how to debug custom workflow activity code as well as how to use declarative workflows for On-premise deployments.Lessons

  • Objectives
  • Introduction
  • Overview of Workflow
  • Overview of Dialogues
  • Setting up Custom Workflow Activity Assemblies
  • Demonstration: Configuring a Custom Workflow Activity
  • Creating Custom Workflow Activities
  • Debugging Custom Workflow Activities
  • Creating and Modifying Windows Workflow Foundation (XAML Workflows)
  • Demonstration: Modifying an Existing Workflow in Visual Studio 2010
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab : Lab 4.1: Creating a Custom Workflow Activity

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step C#
  • Step by Step Visual Basic .NET
After completing this module, students will be able to:
  • Identify core workflow features in Microsoft Dynamics CRM
  • Review the basic concepts, terminology and benefits of using dialogues
  • Examine the steps involved in developing and deploying custom workflow activities
  • Create custom workflow activities
  • Debug custom workflow activities
  • Modify an existing Microsoft Dynamics CRM 2011 workflow in Visual Studio

Module 5: Plug-insThis module provides the audience with an overview of Plug-ins.  Plug-ins are powerful mechanisms used to extend the functionality of events for any entity in Microsoft Dynamics CRM 2011.  The module reviews how plug-ins are used.  It provides an explanation of the event framework, and examines Plug-ins as they pertain to Isolation, Trusts and Statistics.  In addition the module illustrates how to develop Plug-ins, use impersonation and Entity Classes, and how to register, deploy and debug Plug-ins.  Finally the module provides an overview of how to integrate Windows Azure with Microsoft Dynamics CRM 2011.Lessons

  • Objectives
  • Introduction
  • Overview of Plug-ins
  • Event Framework
  • Plug-in Isolation, Trusts and Statistics
  • Developing Plug-ins
  • Impersonation in Plug-ins
  • Entity Classes and Plug-ins
  • Register and Deploy Plug-ins
  • Debugging Plug-ins
  • Windows Azure Integration with Microsoft Dynamics CRM 2011
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lesson Learned
  • Solutions

Lab : Lab 5.1: Creating a Plug-in

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step
  • Step by Step
After completing this module, students will be able to:
  • Identify how Plug-ins can be used to extend Microsoft Dynamics CRM 2011
  • Review the event framework
  • Examine Plug-in Isolation, Trusts and Statistics
  • Develop Plug-ins
  • Use impersonation in Plug-ins
  • Register and deploy Plug-ins
  • Debug Plug-ins
  • Integrate Windows Azure with Microsoft Dynamics CRM

Module 6: Application Event ProgrammingThis module explains how to use the built-in features of the Microsoft Dynamics CRM application.  It also shows how the Microsoft Dynamics CRM application behaves when forms are loaded or saved, field data changes, tabs change state, and when IFRAMES are loaded. In Microsoft Dynamics CRM, event handler code can be attached to five events.Lessons

  • Objectives
  • Introduction
  • Using Jscript Libraries
  • Form and Field Events
  • Xrm.Page
  • Xrm.Page.context (Client-Side Context)
  • Xrm.Pge.data entity
  • Xrm.Page.ui
  • Form Types
  • Form Event Handler Execution Context
  • Setting Event Dependencies
  • Pass Parameters
  • Using Best Practices in Writing Client-Side Code
  • Debugging Client-Side Code
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab : Lab 6.1: Telephone Number Formatting

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help
  • Step by Step

Lab : Lab 6.2: Control Tab Visibility

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step
After completing this module, students will be able to:
  • use JScript Libraries to Customize Microsoft Dynamics CRM
  • Explore form and field events
  • Examine the Xrm.Page object
  • Examine the Xrm.Page.context (client-side context) object
  • Examine the Xrm.Page.data.entity object
  • Examine the Xrm.Page.ui object
  • Explore form types
  • Examine the form event handler execution context
  • Identify how to set event dependencies
  • Evaluate how parameters can be used within Microsoft Dynamics CRM 2011 forms
  • Apply best practices when writing client-side code
  • Identify how to debug client-side code

Module 7: Client ExtensionsThis module explains how to add custom buttons, menu items, and navigation areas so that custom solutions are included in Microsoft Dynamics CRM.  It also explains how to modify the Application Navigation area and goes into detail on the ways to customize both theSite Map and the Ribbon. Lessons

  • Objectives
  • Introduction
  • Customizing the Site Map
  • Customizing the Ribbon
  • URL Addressable Forms and Views
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab : Lab 7.1: Modifying the Site Map

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

Lab : Lab 7.2: Customize the Ribbon

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step
After completing this module, students will be able to:
  • Integrate web pages into the user interface by using the Site Map
  • Describe the steps to modify the Ribbon
  • Demonstrate the use of Custom Actions, Rules and Localizing Ribbon controls
  • Describe how URL addressable forms can be used

Module 8: Web ResourcesThis module explains how the addition of custom web content (for example HTML, Images, Silverlight, JavaScript) to CRM forms is a common method that is used to extend CRM functionality.  It describes a few examples of the use of client-side technology such as among others, adding custom validation, mashups with other applications and adding new applications (for example, Silverlight applications displaying Microsoft Dynamics CRM data).  The module also describes how web resources are used to enable the storage of shared blocks of code or resources so that they can then be reused across the Microsoft Dynamics CRM web application.Lessons

  • Objectives
  • Introduction
  • Overview of Web Resources
  • Web Resource Management
  • Referencing Web Resources
  • Silverlight Web Resource
  • REST Endpoint, OData and JSON
  • Using JQuery
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab : Lab 8.1: Silverlight and Opportunity Slider

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step
After completing this module, students will be able to:
  • Overview of the use of web resources in Microsoft Dynamics CRM 2011
  • Evaluate how parameters can be used
  • Demonstrate how web resources are implemented and utilized
  • Practice referencing web resources within other web resources
  • Implement the use of a Silverlight web resource
  • Define REST
  • Examine and understand the use of ATOM and JSON
  • Understand and demonstrate how JQuery can be utilized