I have a C# Wpf application that has a reporting functionality that simply displays an XML file in a WPF web browser that is styled using a XSL file.
During development and testing this worked perfectly and we had no problems. However when deployed, a single customer complained of the following error:
The ordinal 459 could not be located in the dynamic link library urlmon.dll
We have debugged this remotely to the line where the browser is actually navigating to the file, and upon some serious googling and customer interrogation, it appears that this is due to Internet Explorer having been disabled as a policy on their network meaning that the web browser cant find the engine that it needs to work.
As I understand it the Wpf web browser control uses the Internet Explorer libraries, and when IE is not installed then it doesnt work - hence the error.
So my question is twofold:
Can I get the web browser to use a default browser engine so that it will use Chrome / Firefox / Internet explorer depending on which one is the default.
How can I detect whether the necessary IE libraries are available (and which libraries are these). Furthermore is it possible to detect this error in .net so that I can supply my own message as the current one is damn near useless to the user
I have found a lot of ways to find the version of internet explorer but no simple way of detecting whether the libraries are available, as the version seems to return the same value, whether IE is enabled or not.