Microsoft Dynamics CRM 2011 - Include HTC Support in CRM forms

Greg Olsen, 28 January 2013

So the first thing you are probably asking is what is HTC support mean? HTML Components, known as HTCs, are a nonstandard mechanism to implement components in script as Dynamic HTML (DHTML) "behaviours" in the Microsoft Internet Explorer (IE) web browser.   These files typically use an .htc extension. You may have seen a few of these files on the CRM web server? An HTC is typically an HTML file (with JavaScript / VBScript) and a set of elements that define the component.

Next question you may be asking yourself is, do I enable this or not?  Well this is where it all begins.  Update Rollup 12 and the December 2012 Service Update support additional browsers by generating HTML that supports W3C standards. This requires removing dependencies on HTML components (HTCs that we mentioned earlier) that are specific to IE. Makes sense right? This needed to be done to allow for the new and cool cross-browser support.

In Microsoft Dynamics CRM 4.0, or during an upgrade from CRM 4.0 to CRM 2011, the ‘crmForm’ JavaScript API that was used to access form elements will continue to provide backward compatibility only for IE.  If you have code that uses the crmForm API, or any unsupported internal methods that interact with form objects that used HTC components, you must select to Include HTC support in CRM Forms on the Customization tab of System Settings

To enable ‘HTC support in CRM Forms’ follow the steps below:

1. Navigate to Settings > Administration > System Settings
2. After opening System Settings, click the Customization tab
3. Find the section called HTML component support
4. Select the option Include HTC support in Microsoft Dynamics CRM forms
5. Click OK

 Microsoft Dynamics CRM 2011 Include HTC Support in CRM forms

Microsoft Dynamics CRM 2011 Include HTC Support in CRM forms

Using this setting will not allow newer versions of IE to provide the best performance possible. IE  10 does not support HTC components.   Microsoft has indicated that the option to continue support for HTC will be removed in the next major release of Microsoft Dynamics CRM. At that time the ‘crmForm‘ JavaScript API will no longer be supported.  Therefore, you should seriously be planning to upgrade your form scripts to use Xrm.Page APISee my previous blog post where I discuss the CRM 2011 Custom Code Validation Tool. http://www.magnetismsolutions.com/blog/greg-olsen's-blog/2012/11/14/microsoft-dynamics-crm-2011-custom-code-validation-tool

You maybe also asking the question, what is the default setting for my CRM installation? Here are the default settings:

  • CRM Online: Off
    • If you have an existing code script that requires HTC support, you have a CRM 2011 solution which is an upgrade from CRM 4.0 (without using Xrm.Page) or if you install a new solution that depends on HTC support you must change this to be enabled (On).
  • CRM On Premise: On
    • You will get better performance if you have this setting disabled (Off). But this would only happen if you have no code scripts that depend on HTC support.

    So in summary, make sure you select the best option that suits your CRM solution. If you haven’t upgraded your ‘crmForm’ scripts, then now is probably the best time to start doing that.

    Hope that helps?