I am developing a C# application for Windows 7 in which I want to load some flash content from a URL in a web browser object inside a form. What I thought is the .Net web browser object is using the Internet Explorer installed in the system. So, if I remove IE from the system it should 开发者_StackOverflowthrow exception while instantiating the web browser object.
But what I observed is even if I remove IE from the system, my application can render the content in the form. But if I click any link in the content it is not opening any pop up IE window to show that content.
Can you throw some light on the relation between the default web browser object present in .Net and the IE present in the system...
Any pointers or links where I can explore this behaviour....? .
Trident (also known as MSHTML) is the name of the layout engine for the Microsoft Windows version of Internet Explorer.
Trident was designed as a software component to allow software developers to easily add web browsing functionality to their own applications. It presents a COM interface for accessing and editing web pages in any COM-supported environment, like C++ and .NET. ... Trident functionality becomes available by linking the file mshtml.dll to the software project.
copied from wiki. link is here
locations of mshtml.dll
file on my system:
C:\Windows\winsxs\x86_microsoft-windows-ie-htmlrendering_31bf3856ad364e35_8.0.7600.16385_none_2dd3aff6fa7f090a
C:\Windows\System32
so my guess is even if you remove IE from your system, mshtml.dll
is left untouched
Most ways of uninstalling Internet Explorer remove the IE executable but leave the rendering libraries in place, and they're used by lots of other tools in Windows. Probably that's why it's working for you, but won't pop up an independent IE window.
Unfortunately, I can't find any formal reference to this in anything but informal forum discussions, and none of them go into more depth than I have, so I can't offer any useful links for more information.
精彩评论