Hello Dynamics CRM 4.0, Long Time no See

Today I started a project on a client that still use Dynamics CRM 4.0. It’s been a while since I developing and navigating through this wonderful CRM back from 2007-2008, when I was still in uni.

Getting accustomed to the great enhancement from Update Rollup 12 of Dynamics CRM 2011 (Cross-Browser capability), I felt a bit unproductive just to be able to use only IE. Again another problem, CRM 4.0 only supports up to IE 9 (ref: http://support.microsoft.com/kb/2669061) and my working machine is using IE 11.

So, for a better productivity working with pre-Dynamics CRM 2011 UR 12. I came up with a couple tips:

Tips#1: IE 11 Compatibility Mode

This is the basic requirement to work with CRM 4.0. To set this up on IE toolbar, click on Tools > Compatibility View Settings

Compatibility View IE

Then add the Web address of the CRM 4.0 server

Compatibility View Settings

Tips# 2: Open Pop-Up Window in New Tab

Note: This method is still useful when working with Dynamics CRM 2011 as well.

To enable this, click the “Gear” symbol on IE > Click on Internet Options

Internet Options

Under General Tab and under Tabs Section, click on Tabs button

Internet Options Tabs Behaviour

Then under “When a pop-up is encountered:” Section, select “Always open pop-ups in a new tab

Open Pop-up in new Tab

Tips #3. IE Tab on Google Chrome

When working with multiple organisations of Dynamics CRM, it’s inefficient to open everything using single browser. Especially when we need to do comparison between two different orgs. Alternative way is to install Google Chrome extension called IE Tab, download link: https://chrome.google.com/webstore/detail/ie-tab/hehijbfgiekmjfkfjpbkbammjbdenadd?hl=en


I hope it helps anyone who are still using the older version of Microsoft Dynamics CRM. And I now really appreciate the hard work of the Dynamics CRM product team to deliver multi-browser compatibility enhancement to Dynamics CRM.


Standalone WcfTestClient

Recently I have to work on a client to do some WCF configuration update to conform with their new IFD Deployment. The first tool that I’m trying to find to test WCF Services is WcfTestClient. However I only have the WcfTestClient on my own machine (with Visual Studio installed). While, client’s machines do not have Visual Studio. After doing some quick research, I found out that WcfTestClient can be made “portable”. So, I made my own “portable” WcfTestClient. The only requirement is to have .Net Framework installed (most of the client’s machine usually has .Net framework isntalled).

I shared the WcfTestClient on my OneDrive:


Dynamics CRM 2013 SP1 SDK – New Tool: Configuration Migration

Following up my previous post on the Revamped Plugin Registration Tool, I explored the new Tools folder in the latest Dynamics CRM 2013 SP1 SDK. There is a new tool called “Configuration Migration”.

This tool will make our life easier, especially in migrating some basic data from one org to another (e.g: Dev to Test to Prod).

So, this is how this now tool looks like:


There are 3 options available:

  • Create Schema
  • Export Data
  • Import Data

Create Schema

Let’s run through the first option (as this is the basic foundational usage of this tool). Again, it has the same Login layout as the Revamped Plugin Registration Tool:ConfigurationMigrationToolLogin

It will then open the Schema Builder window. This tool is really useful as it could picks up the configuration records that usually not picked up by CRM Solution. In my example is the Duplicate Detection Rule:


Once finished building the schema, click on Save and Export button. It will then open the window to save the schema file (XML) and prompt whether we want to Export the data. (I pressed no, to explore the second option, export data option above)



Export Data

When selecting the Export Data, it will ask the previously generated Schema File and the location where the data will be saved (the data will be in Zipped format):


The successful export will display the following result:


Import Data

The last option is Import Data, again it will prompt the login to the destination org, establishing the connection threads and prompting the data source zip file.


Click on Import Data to proceed…


Once it’s finished, the new record is migrated to the destination org. This is a really handy tool for system admin/customizer when deploying the configuration, records, sample data, etc from one org to another.

Edit on 23/05/2014: found the guide provided by MSDN for more thorough High-level purpose of the usage of this tool. http://msdn.microsoft.com/en-us/library/dn647421.aspx


Important information about supported configurations in the next release for CRM

The CRM Product team recently released the latest updates on supported configurations in the next release for Microsoft Dynamics CRM.

It includes removal of their supports for the popular Windows and SQL Server 2008 (time to upgrade!)

And also completely removes some of the deprecated javascript functions:

  • GetServerUrl()
  • IsOutLookClient()
  • IsOutlookOnline()

Full post: http://blogs.msdn.com/b/crm/archive/2014/05/14/important-information-about-supported-configurations-in-the-next-major-release-for-crm.aspx

Update Rollup 17 For Dynamics CRM 2011 is Released

Following up my previous post on the compatibility issue of Microsoft Dynamics CRM 2011 with Windows 8.1 and Internet Explorer 11 here. Microsoft recently released Update Rollup 17 that addressed those issues.

Microsoft Dynamics CRM 2011 Update Rollup 17 is compatible with Windows 8.1 or Windows 7 and Internet Explorer 11. This includes the following supported configurations.

  • The web application running in Internet Explorer 11 on Windows 8.1 or Windows 7.
  • CRM for Outlook when you run Office 2013 on Windows 8.1.

Other than the above major fix/update, it also fixed some issues that I encountered:

  • Reports cannot be executed once the default filter form the report is removed and the update is saved. The execution fails with the following error on screen. “Reporting Error: The repot cannot be displayed”
  • Advanced Find date range with “last-x-fiscal-years” is wrong when exported to a Dynamic Worksheet

Complete list of issues addressed in this Rollup is available on the KB Article:





Set Filter Attributes – Update Plugin – Dynamics CRM 2013 Upgrade Gotcha

Recently I upgraded one of my virtual machine with Dynamics CRM 2011 to Dynamics CRM 2013. That instance contains my old solutions from previous learning and testing. One of the solution contains several plugins to be triggered on Update request.

With the new auto-save feature in Dynamics CRM 2013, any modification to the form will be automatically saved every 30 seconds or when the user navigated away from the from (click other records or navigate to different page). 

There was an unexpected performance issue every a couple seconds (30 seconds to be exact) when I was working with the new CRM 2013 form. After I traced the source of the problem, it was coming from the plugin that triggered every 30 seconds by the auto-save. The new auto-save functionality will trigger the plugin because I was not filtered the plugin on the required fields (attributes). This problem never happened on CRM 2011 as the update request will only be triggered through “Save” button with manual user interaction.

I think it is a best practice to filter the update plugin to only be triggered on the related attributes, to achieve that:

Method 1: through Plugin Registration Tool, on the step registered:



Method 2: through Developer Toolkit in Visual Studio, on the step registered:



This would be a lesson learn in future to do the due-diligence in selecting the correct filter attributes for the plugin.


Set Dynamics CRM Settings as Default Landing Page

The new navigation on Dynamics CRM 2013 is quite annoying for system admin/customiser/developer, as the default landing page is set to Sales (Compared to Dynamics CRM 2011, where all navigations are on the left hand side of the screen so this is not an issue).
It requires extra clicks to navigate to Settings, the place where system admin/customiser/developer care the most, by clicking Dynamics CRM Symbol > Settings, and if the mouse pointer hovered out of the navigation pane, it collapses and requires user to click the Dynamics CRM symbol again.

Getting frustrated with the non-productive time with extra clicks, I tried to look into the option and found the way to set the default landing page:
1. Click on the Gear Symbol next to user detail, click on Options (to set Personal Options).


2. Set the Default Pane and Default Tab to the required one (As Developer I prefers to go to Solutions tab, As System Admin I will go with Administration tab).

I hope this will help anyone, especially fellow developers/admins/customisers to be able to navigate in Dynamics CRM 2013 more fluently.

CRM System Admin & Customiser – Working with Dynamics CRM on iPad

Recently I stumbled across a question in Dynamics CRM Forum regarding “How to see CRM Settings on a tablet browser”

Out of my curiousity, I tried something on my iPad. The steps that I used to achieve this is using Google Chrome on iPad (never bother to check it on Safari though, as I never use that):

1. Open a new Tab, navigate to Dynamics CRM instance.

2. On Google Chrome option (the three lines at the right hand side of url bar), select “Request Desktop Site”

3. It will redirect to https://<crmserverinstance>/m/default.aspx change it to https://<crmserverinstance&gt;/main.aspx

4. Voila, the Settings button is there and works! It’s quite slow though.


Don’t Try This At Home – Adding CRMAppPool User as Dynamics CRM User

No matter how lazy we are to add new user, especially during “Proof of Concept” or Testing period.

Do not add CRMAppPool User as Dynamics CRM SystemUser. This will breaks the system, moreover in multi-tenant environment – Considering the amount of time required in repairing might be bad in Multi-Tenancy environment in regards to the SLA, all of your CRM Services will break and show the following error:

Missing Dynamics CRM Security Role” – Access to Microsoft Dynamics CRM has not been fully configured for this user. The user needs at least one security role before you can continue.


Microsoft stated: “This behavior is by design. Making the account that is running the CRMAppPool into a Microsoft Dynamics CRM user is not supported.” in this KB article: http://support.microsoft.com/kb/2500917

I did that, so what I need to do?

1. Create new AD User to replace the corrupted one.

2. Open Control Panel > Programs and Features


3. Open Microsoft Dynamics CRM Server 2013


4. Select Repair


5. Update the following user configuration with the new AD user 


6. Continue the whole repair process (“Next” button spam!).

7. Test to access your CRM instances back.


Lesson Learned

Before start working with Dynamics CRM Server, read through the Implementation Guide carefully: http://www.microsoft.com/en-au/download/details.aspx?id=40322 (On CRMIGv6_Planning.docx, Section: Microsoft Dynamics CRM Services and IIS Application Pool Identity Permissions).


Microsoft Dynamics CRM and Data Mining

A really excellent post about Microsoft Dynamics CRM Data Mining by Mark Margolis. It’s an eye opening for me, as I usually have the understanding about the Reporting and Analysis, but with Data Mining, it enables us to predict the customer behaviour.

Mark Margolis's Blog

As you have probably already gathered I’m a big fan of Analytics and Visualisations so when my colleague Manuel Altermatt told me he was doing some work on CRM and Data Mining and wanted to do a  guest post I jumped at the chance! You can contact manuel on analyticalcrm@outlook.com.

Whilst Dynamics CRM is widely recognized for its strong operational capabilities, the outstanding analytical capabilities which arise in conjunction with SQL Server are sometimes overlooked. We can think about business intelligence in two categories:
Reporting and analytics, which are methodologies and tools that focus on “what happened”, thus working on data exploration, historical information, reports, dashboards, KPI’s, etc.
Data Mining, which are methodologies and tools that focus on “why did it happen”, thus working on data understanding, patterns, correlation, past and future data, and data prediction.


This blog post shows how Dynamics CRM can be combined with SQL Server…

View original post 1,777 more words

Microsoft Dynamics Demo Builder

Today I found this Dynamics Demo website that will help us to quickly create demo org to present to customers. Some of the demo also contains great template such as: Grants Management, Case Management, Financial Service, CRM + SharePoint.



Dynamics CRM Compatibility with Windows 8.1 & IE 11


Windows XP support is going to be over on 8th of April 2014. To learn more about upgrade options for Windows XP: http://www.microsoft.com/windows/en-au/xp/upgrade-options.aspx




Everything seems good and cool. Windows 8.1 is lovely, Windows button is there, the UI is sleek and fluid, lots of Apps available in the store.
Until we come to our lovely Dynamics CRM 2011, IE 11 makes it not working properly anymore!

This KB article mentioned about the Microsoft Dynamics CRM support for IE 11:

There are some options available:

1. Upgrade Your Microsoft Dynamics CRM to 2013 (Update Rollup 2 solves this compatibility)

KB Article: http://support.microsoft.com/kb/2919956
Download Link: http://microsoft.com/en-us/download/details.aspx?id=42272
Some good consideration when implementing UR by Donna Edwards: http://edwardsdna.com/2014/03/24/update-rollups-should-i-or-should-i-not-that-is-the-question/

2. Temporarily use Google Chrome and Mozilla Firefox until you are ready to Upgrade to Microsoft Dynamics CRM 2013 or UR on Dynamics CRM 2011 that supports IE 11.

Currently, Microsoft plans to add Internet Explorer 11 in compatibility mode as a supported web browser in the third quarter of calendar year 2014 for Microsoft Dynamics CRM 2011.

Looking forward to see more organisations to upgrade to Microsoft Dynamics CRM 2013 and taste the best of the upgrade!



Dynamics CRM 2011 UR 16 Is Available Now

Dynamics CRM 2011 UR 16 is out now. Find it: http://support.microsoft.com/kb/2872369/en-gb

Finally, it fix:

  • Can’t renew\copy a Contract when Contract Line items dates are greater than the Contract.

Dynamics CRM 2013 Certification is Available on Prometric


Today I found the new certifications for CRM 2013 on Prometric website when I was checking my previous exam result.



Looking forward to do the MB2-703 – Microsoft Dynamics CRM 2013 Customization and Configuration. The exam currently only available in English.

First Hands-on Dynamics CRM 2013 Mobile Client App (MoCA)

Last night I had a chance to download the Dynamics CRM 2013 mobile client app (MoCA) for iPad (3rd gen) from App Store (I wish I can get a surface to play with).

Below are the screen shots of this great mobile app that people will love:










Some features that might be lacking from this release are the phone call button on contact record does not have any selection on what kind of phone call application that can be used (Skype or Lync). From my view, Lync will be more beneficial for corporate/business perspective. And the Email button as well, it does not automatically assign my email address that I used for login into MoCA, instead it is using the default settings email. It makes the process to track the email harder when it is used in conjunction with Outlook client and Web-based application.

Service functionality seems not 100% working properly on my instance, as I could not change the status of certain service record.

Hopefully Microsoft roll-up these update soon.

Dynamics CRM 2013 Download Links. Finally!

Finally after long waiting for the release of the Dynamics CRM 2013

Exciting release of Dynamics CRM 2013 download links:

Microsoft Dynamics CRM 2013 Language Packs:

Microsoft Dynamics CRM Server 2013:

Microsoft Dynamics CRM 2013 Email Router:

Microsoft Dynamics CRM 2013 Report Authoring Extension (with SQL Server Data Tools support):

Microsoft Dynamics CRM 2013 for Microsoft Office Outlook (Outlook Client):

Microsoft Dynamics CRM 2013 List Component for Microsoft SharePoint Server 2010 and Microsoft SharePoint Server 2013 (for multiple browsers):

Microsoft Dynamics CRM 2013 Software Development Kit (SDK):

Connectivity and Firewall Port Requirements for Microsoft Dynamics CRM 2013

Microsoft Dynamics CRM 2013 performance counters

Using multi-tenancy in Microsoft Dynamics CRM 2013 to address challenges in enterprise business environments

Microsoft Dynamics CRM 2013 Custom Code Validation Tool

Not to forget, the implementation Guide:

And also Update Rollup 15 for CRM 2011
for KB article that related to this UR 15: http://support.microsoft.com/kb/2843571

It’s a really exciting releases from Microsoft!

Styling Emails with CSS – ClickDimensions blog

This is a re-post from:


on how to make styling for email templates in Dynamics CRM. This is really helpful approach. And remember, table-layout! Email is not website.

Dynamics CRM 2013 [Beta] Exciting Part! Process Form & Business Rules Everywhere!

I’m lucky enough to get a hands-on with the new Dynamics CRM 2013 Beta from my current company as part of partner readiness.

The features that I really love from this new update are: Process Form & Business Rules!

What is Process Form? This update was released on CRM Online version in Dec 2012, around the same time as the release of UR 12 (Exciting multi-browsers support). This feature is helping sales process to keep track with each stage of a form. And now it’s available everywhere on every entity (as far as I can see in this beta release)!

Next is Business Rule. What is it? This is an amazing feature to implement business logic on certain entity. We could build our validation rule on the form, field update, hide/show part within form, make field editable based on certain values and many more awesome functionality and it is bound to solution! From developer point of view, this will reduce the time to do form scripting (reduce testing time when there is bug/wrong logic in the js)

Would this replace plug-in or workflow functionality? To certain extent it may.

I’ll keep updating this post with screenshots and more detailed features.

IE Developer Tool – Minified JavaScript – Make it Neat!

Recently I’m working on a web application and need to debug a 3rd party solution. The javascript file is minified to make it efficient in loading speed as the smaller size is less data that need to be transferred. 

When I’m debugging this javascript file, I debugged using IE developer tool (for whatever reason, this is my favorite debugging tool, even I still using firebug and Chrome’s dev tool). However, how could I possibly read this whole gibberish javascript file?? (for example I used jquery.min.js)


It’s really frustrating isn’t it? As curious as anytime, I clicked everywhere on the toolbar to make the script neater. And I found this amazing Format Javascript option, and this is the result:



Why this option not turned on by default? I don’t know, but now I can read the javascript file, at least to debug it.



New Journey (Part 3)

Today I finally finished all of the configurations on my DNS and AD server, I was trying to add my other servers (SQL, CRM and SharePoint) to my new domain, unfortunately, I found a small issue:

An Active Directory Domain Controller (AD DC) for the domain “andre.local” could not be contacted.

Ensure that the domain name is typed correctly.

If the name is correct, click Details for troubleshooting information.

Note: This information is intended for a network administrator.  If you are not your network’s administrator, notify the administrator that you received this information, which has been recorded in the file C:Windowsdebugdcdiag.txt.

The following error occurred when DNS was queried for the service location (SRV) resource record used to locate an Active Directory Domain Controller (AD DC) for domain “andre.local”:

The error was: “DNS name does not exist.”
(error code 0x0000232B RCODE_NAME_ERROR)

The query was for the SRV record for _ldap._tcp.dc._msdcs.andre.local

Common causes of this error include the following:

– The DNS SRV records required to locate a AD DC for the domain are not registered in DNS. These records are registered with a DNS server automatically when a AD DC is added to a domain. They are updated by the AD DC at set intervals. This computer is configured to use DNS servers with the following IP addresses:

– One or more of the following zones do not include delegation to its child zone:

. (the root zone)

This issue is quite new for me, after taking some time in troubleshooting, I decided to fix it up by set the server DNS manually:

Open Network and Sharing Center, then click Changes Adapter Settings and open the properties of Local Area Connection, and then open properties of Internet Protocol Version 4. Click on Advanced button in the bottom and select DNS tab.

Add the IP address of my DNS server and press OK.

Now go back to update the domain of the server, it will prompt username and password that has been registered in AD server. Fill it, and voila, “Welcome to andre.local domain.” It will ask to restart the computer, restart and congratulations now it connected to AD!

New Journey (Part 1)

Recently I decided to learn more about IT Infrastructure, especially on Dynamics CRM deployment and installation. And also installation of SharePoint Server, currently planning on installing 2010 and 2013 on different VMs. 

First step on my journey in installation of these servers is:

Prepare Active Directory for all servers to authenticate. Give my credit to howtogeek.com by providing such great step-by-step tutorial on: http://www.howtogeek.com/99323/installing-active-directory-on-server-2008-r2/

This is the content of the tutorial:

Active Directory is essential to any Microsoft network built on the client-server network model–it allows you to have a central sever called a Domain Controller (DC) that does authentication for your entire network. Instead of people logging on to the local machines they authenticate against your DC. Lets take a look at how to install Microsoft’s Active Directory.


Open Server Manager and click on roles, this will bring up the Roles Summary on the right hand side where you can click on the Add Roles link.

This will bring up the Add Roles Wizard where you can click on next to see a list of available Roles. Select Active Directory Domain Services from the list, you will be told that you need to add some features, click on the Add Required Features button and click next to move on.

A brief introduction to Active Directory will be displayed as well as a few links to additional resources, you can just click next to skip past here and click install to start installing the binaries for Active Directory.

When the installation is finished you will be shown a success message, just click close.


Open up Server Manager, expand Roles and click on Active Directory Domain Services. On the right hand side click on the Run the Active Directory Domain Services Installation Wizard (dcpromo.exe) link.

This will kick off another wizard, this time to configure the settings for you domain, click next to continue.

The message that is shown now relates to older clients that do not support the new cryptographic algorithms supported by Server 2008 R2, these are used by default in Server 2008 R2, click next to move on.

Choose to create a new domain in a new forest.

Now you can name your domain, we will be using a .local domain the reason why will be explained in an upcoming article.

Since this is the first DC in our domain we can change our forest functional level to Server 2008 R2.

We want to include DNS in our installation as this will allow us to have an AD Integrated DNS Zone, when you click next you will be prompted with a message just click yes to continue.

You will need to choose a place to store log files, it is a best practice to store the database and SYSVOL folder on one drive and the log files on a separate drive, but since this is in a lab environment I will just leave them all on the same drive.

Choose a STRONG Active Directory Restore Mode Password and click next twice to kick off the configuration.

You will be able to see what components are being installed by looking in the following box.

When its done you will be notified and required to reboot your PC.

That’s all  there is to it guys, now you have a working installation of Active Directory.

New Journey (Part 2)

Installing DNS, yes this is the step that required when installing AD DS.

I found the article from Microsoft Tech Flash on how to install and configure DNS on Windows Server 2008 and 2008 R2: http://technet.microsoft.com/en-au/library/cc725925.aspx

The content of that page is:

Installing a Domain Name System (DNS) server involves adding the DNS server role to an existing Windows Server 2008 server. You can also install the DNS server role when you install the Active Directory Domain Services (AD DS) role. This is the preferred method for installing the DNS Server role if you want to integrate your DNS domain namespace with the AD DS domain namespace.

Membership in the Administrators group, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at http://go.microsoft.com/fwlink/?LinkId=83477.

To install a DNS server

  1. Open Server Manager. To open Server Manager, click Start, and then click Server Manager.
  2. In the results pane, under Roles Summary, click Add roles.
  3. In the Add Roles Wizard, if the Before You Begin page appears, click Next.
  4. In the Roles list, click DNS Server, and then click Next.
  5. Read the information on the DNS Server page, and then click Next.
  6. On the Confirm Installation Options page, verify that the DNS Server role will be installed, and then click Install.

Additional considerations

  • We recommend that you configure the computer to use a static IP address. If the DNS server is configured to use DHCP-assigned dynamic addresses, when the DHCP server assigns a new IP address to the DNS server, the DNS clients that are configured to use that DNS server’s previous IP address will not be able to resolve the previous IP address and locate the DNS server.
  • After you install a DNS server, you can decide how to administer it and its zones. Although you can use a text editor to make changes to server boot and zone files, this method is not recommended. DNS Manager and the DNS command-line tool, dnscmd, simplify maintenance of these files, and they should be used whenever possible. After you begin using DNS Manager or command-line management of these files, editing them manually is not recommended.
  • You can administer DNS zones that are integrated with AD DS only with DNS Manager or the dnscmdcommand-line tool. You cannot administer these zones with a text editor.
  • If you uninstall a DNS server that hosts AD DS-integrated zones, these zones are saved or deleted according to their storage type. For all storage types, the zone data is stored on other domain controllers or DNS servers. The zone data is not deleted unless the DNS server that you uninstall is the last DNS server hosting that zone.
  • If you uninstall a DNS server that hosts standard DNS zones, the zone files remain in the %systemroot%system32Dns directory, but they are not reloaded if the DNS server is reinstalled. If you create a new zone with the same name as an old zone, the old zone file is replaced with the new zone file.
  • When they write DNS server boot and zone data to text files, DNS servers use the Berkeley Internet Name Domain (BIND) file format that is recognized by legacy BIND 4 servers, not the more recent BIND 8 format.

Additional references

Usefulness of WCF Tracing

Today I got some “unhelpful” exception while upgrading one of the project from CRM 4 to 2011. And the structure of the project is changed from using direct communication from website to CRM, now it utilize WCF in between.

I’ve been doing WCF for about 2 year, but now I just found out that WCF tracing can be this useful. So, this is what happened:


No clear explanation right?

Then I decided to trace and add this in web.config of WCF:

      <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
          <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "c:\traces.svclog" />

Do the problematic process again, and it generates:


I opened it, skim through the log and found this:


Double click that one, something goes wrong..


Select that error:

ImageGotcha! Now I have better clue on what I should fix..

How to disable auto creation of ID in Visual Studio 2010

How many of us encounter problem with Visual Studio that automatically change the ID of the controls that we copy-paste in our projects.
Luckily I found the solution for this trouble maker. We need to change it through Visual Studio’s option.

First go to Tools => Options
Select Tool - Options

Then Under TextEditor => HTML => misc, uncheck:
Uncheck this