Is it possible the detect the version of IE installed on a machine from a WinForms application?
EDIT 1
I'm specifically interested in establishing if IE9 is installed or not. Multiple IE versions could be installed, but it is IE9 specifically that causes my application a problem.
This is how to get the non-embedded browser-Version:
Then you can set the embedded browser-Version: 32-bit:
For 64-bit:
as a new 32-Bit DWORD key named "yourapp.exe".
You can use HKLM and HKCU as root. Use HKCU if no admin rights.
See here and here for further Information.
e.g.
Putting it all together:
with this class
You can determe the Internet Explorer version from the registry:
See also: Determine the version of Internet Explorer installed on a local machine
Look at the File Version for iexplore.exe. If you are worried about multiple versions installed, check the one used in the file associations for html files.
How about;
In a winform application there another issue which has not been mentioned. Even if IE9 is installed the webbrowser is always running with the IE7.0 engine.
If you want your application to benefit from a more recent html renderer you got to write in the registry. The code below works for me. That is:
whether the app user has administrative rights or not.