- What has changed?
- How can I check my code?
- How can I fix my code?
- Do I need to fix everything?
Download the Microsoft Dynamics CRM 2013 Custom Code Validation Tool.
What has changed?
Several things have changed or will change soon.
For people using Microsoft Dynamics CRM 2011 on-premises who still haven’t applied the December 2012 Service Update:
- We support more browsers. Before the Microsoft Dynamics CRM 2011 December 2012 Service Update, Microsoft CRM only supported Internet Explorer. But now it supports many other browsers. Browsers are different. The code someone wrote just for Internet Explorer might not work using other browsers. If you are going to support other browsers, you need to verify that your code will work for those browsers.
- We changed our pages. The Document Object Model (DOM) of the pages in our application has changed and will continue to change. We have always told people that we don’t support direct interaction with our DOM because we have to change it from time to time to improve the application. You should make sure that your code doesn’t do this or it could break during an upgrade.
- We have changed our internal code. We need to change our internal code to make a better application. Any code that a developer created using internal methods they discovered will probably break when our code changes.
For people looking to upgrade to Microsoft Dynamics CRM 2013, these changes and others were announced on this page: What’s Changing in the Next Major Release.
- We deprecated our old public form object model. When Microsoft Dynamics CRM 2011 was released we introduced a new public Xrm.Page object model for form scripting and announced that the old form object model would continue to work until the next version. When you upgrade to CRM 2013 the old form object model will not be there anymore.
How can I check my code?
The support team did some research on common issues that could break and prepared a Microsoft Dynamics CRM 2013 Custom Code Validation Tool. Download this tool and extract the contents. Within the contents you will find instructions about how to install and use the tool.
If you have downloaded this tool and used it before, you will see that it now includes additional logic to check for changes related to upgrading to Microsoft Dynamics CRM 2013.
The tool is a managed solution that you install and it will examine your web resources and show you where there might be some problem areas.
Note: Not every issue that is returned by this tool represents a problem. This tool looks for certain characters in the code and highlights those that look like they may be a problem. But there are many times where it is perfectly fine to use certain code in one situation if you have applied the appropriate code for a different situation.
- The code might be commented out so it won’t execute.
This tool can’t find every possible problem. You still need to do testing as part of your upgrade process to ensure that everything works. Use this tool to get a sense of what kind of issues exist and identify which web resources need the most attention.
How can I fix my code?
If the code is part of a solution created by someone else which you installed, for example maybe you downloaded it from the marketplace, then you should contact the people who created the solution. They may have already created an updated version that can work with the newer versions of Microsoft CRM.
If your code was applied by a partner who helped you with your implementation, reach out to them and discuss the results you get when you run using the Custom Code Validation tool.
To summarize the types of changes that need to be made:
|Issue Type||Method to address it|
Using CRM 4.0 (2007) endpoints
Using CRM 4.0 form object model (crmform)
Code is not ready for browsers other than Internet Explorer
Code uses unsupported methods
If there isn't a supported way to achieve your requirement you will need to consider dropping functionality it provides or finding another way to achieve it.
Here are some links that can provide tips that may be useful when fixing your code:
- Upgrade Scripts to Microsoft Dynamics CRM 2011
- Resolve Breaking Script Issues When Upgrading Microsoft Dynamics CRM
Do I need to fix everything?
It really depends on what version you plan to upgrade to.
- If you are using CRM Online you need to address all the changes – especially the removal of the CRM 4.0 web service endpoints and form object model.
- If you have a Microsoft CRM 2011 on premise deployment and want to install update rollup 12 or later - you don’t have to apply changes to the old web service endpoints or the form object model. But you really should get started because you will eventually need to do this before you can upgrade to CRM 2013. At a minimum, make sure you aren’t adding new code that uses these deprecated features.