USD – Hosting Type WPF Internal or IE Process??

Within Unified Service Desk (USD) for Microsoft Dynamics CRM 2016 we can opt to use WPF Internal or IE Process for the hosting type on hosted controls. But what are the differences and which one should you use?

IE Process

The IE Process browser control hosts your controls in individual Internet Explorer process instances, and displays them in tabs in the Unified Service Desk client application. It facilitates predictable page rendering by making sure that if your web application works in Internet Explorer, it will work in Unified Service Desk. You can select IE Process as the hosting method for the CRM Dialog, CRM Page, KM Control, and Standard Web Application type of hosted controls.

WPF Internal

The Internal WPF browser control uses the WpfBrowser component, which is based on the Windows Presentation Foundation (WPF) WebBrowser control, to host the webpages in Unified Service Desk. This browser control is the traditional method of hosting controls in Unified Service Desk. It uses the security subsystem in Internet Explorer and Windows to allow the hosted application to operate the browser functionality in the same mode as the application without changing the Internet Explorer settings, and therefore reduces the security of Internet Explorer for applications outside of Unified Service Desk. While there are advantages, occasionally you may find that you need the features of an Internet Explorer add-in or a feature in the native browser that may not be supported in this browser control, and you should use the IE Process browser control instead.

You will find a more detailed explanation on the Microsoft site at this link;

https://msdn.microsoft.com/en-us/library/dn864941.aspx

But which should you use? For me this is an easy question, IE Process should always be your choice. WPF Internal used to be the default but now you will find it is IE Process.

IE Process gives several benefits including better memory management and improved stability. In my previous USD projects the amount of memory consumed by USD did become a problem. Using IE Process helps with this.

Still not sure? I recently found one other benefit of IE Process that I feel is very significant. If you are using auto-save and close a tab with unsaved changes IE Process will save your changes. WPF Internal will not save your changes. This is reason alone is enough to make me want to always use IE Process.

Tip: If you are using any of the sample packages that come with USD you may find that the hosting type on most controls is WPF Internal. I suggest you update them all to be IE Process.

This has been a short post but hopefully a helpful one.
J

3 thoughts on “USD – Hosting Type WPF Internal or IE Process??

  1. Some link opens in USD but intially it will pop up an error message stating that “An error has occurred on the script of this page.” as I notice one of that link is having “.jsp” extension, probably these page are not supported in USD, hence it will intially pop up an error message. Any comment ?

    Like

    • I have on occasion seen this kind of message. Often the solution has been to change the hosting type from WPF Internal to IE Process. But it is worth trying both options. (Just always try IE process first!)

      However when navigating to any web page out there I guess you may come across errors like this which can’t be resolved. Your final option would be to open the link from USD but use a navigation rule to open the link outside of USD. That would work but obviously has the limitation that the web page is then outside of the control of USD. (Often if you simply want to display a web page that might be an acceptable compromise.)

      Like

  2. Pingback: USD – The Book | Microsoft Dynamics CRM and Unified Service Desk

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s