MSHTML.dll - How to ensure consistent version of IE rendering engine is used across install machines
I'm a bit confused by what I'm reading on line regarding redistribution of MSHTML.dll.
My application (this is a consumer data extraction tool) makes use of the WebBrowserControl in a WebForms app (might end up being WPF), and relies on MSHTML.dll.
As I understand it, MSHTML.dll exists to provide .NET with a wrapper around COM components that exist based on the currently installed version of IE on the client machine.
It is VERY important that the DOM html of a webpag开发者_运维百科e rendered in the WebBrowser control is consistent across all installs, and a web server with which each client communicates. My concern is that if the client machines have varying versions of IE installed, potentially IE 6 - IE 9, then the DOM html could differ from machine to machine.
Say for example the server has IE9 installed, and the client machine has IE6, I'm thinking that the DOM view of an HTML page could differ.
Can someone clarify
a) is this a valid concern, does this work as I am expecting.
b) can I control the rendering engine version in use, maybe by redistributing components?
Thanks for any assistance.
Disclaimer: I am not an expert on this, I've just been dealing with similar issues lately.
a) is this a valid concern, does this work as I am expecting.
Yes, the WebBrowser control depends upon the installed version of Internet Explorer.
b) can I control the rendering engine version in use, maybe by redistributing components?
Look into the Version property of the control, and this:
http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx
You're probably SOL for IE6 and older, but if you have your application check the installed version and update the key in the registry as appropriate, you should be able to control this.
精彩评论