Skip to content

Use Newer Version of Internet Explorer with WebBrowser and HTMLViewer

By default the built-in Web Browser that is used on Windows to show web pages uses the Internet Explorer 7 rendering engine. Which means the Xojo HTMLViewer and the ActiveX WebBrowser controls also use this older rendering engine.

This is less than ideal as more and more web sites require newer, more modern versions of Internet Explorer. This can result in pages you want to display not working properly or not even showing at all. And that results in much sadness for anyone using your app.

Luckily there is a simple change you can make to the Registry to instead use a different Internet Explorer rendering engine. Here is the Registry key:

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
“MyAppName.exe”=dword:00002af8

You can configure the tool you use to create your installer to create this Registry key for you.

For your Xojo apps, you can use this code to modify the Registry:

#If TargetWindows
 // This code handles both 64 and 32-bit builds
 Dim reg As New RegistryItem("HKEY_CURRENT_USER\SOFTWARE\Microsoft")
 reg = reg.AddFolder("Internet Explorer")
 reg = reg.AddFolder("Main")
 reg = reg.AddFolder("FeatureControl")
 reg = reg.AddFolder("FEATURE_BROWSER_EMULATION")
 
 // Source MS documentation: https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
 reg.Value(App.ExecutableFile.Name) = CType(11000 , Int32)
#Endif

Once this change is made, your app will use the newer rendering engine.

For more information, refer to the HTMLViewer page in the documentation.

 

windows transparent label tip