Coffeehouse Thread

20 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

IE 7 runs on .Net?

Back to Forum: Coffeehouse
  • User profile image
    Manip

    Uhh I thought IE 7 was unmanaged? Why is it loading the .Net framework each time?

  • User profile image
    LaBomba

    Manip, be prepared to have an 'ah ha' moment...Wink

  • User profile image
    pacelvi

    Manip wrote:
    Uhh I thought IE 7 was unmanaged? Why is it loading the .Net framework each time?


    I dont see any Fx components in my IE7 process.

    Where do you see Fx in yours?  I'll compare that to mine.

  • User profile image
    littleguru

    Is it perhaps a Addon? Could be an addon that is written in .NET..

  • User profile image
    pacelvi

    littleguru wrote:
    Is it perhaps a Addon? Could be an addon that is written in .NET..


    I opened IE7, which opened to my home page, msdn.microsoft.com

    I navigated to www.google.com

    I opened my feeds explorer bar and clicked on the feed for C9

    I signed into C9 through passport.

    I entered this thread and this editing window.

    Up untill now, the Net Framework is not loaded in the IE7 process.

    I switched to Visual Studio 2005 and did  a deploy of a ClickOnce app I made.

    Visual Studio opened another IE7 window once it was done publishing.

    At this point. Fx is still not loaded in IE7.

    I clicked "install" on the Click Once publish page, and then framework loaded into IE7.

    In my opinion, if the framework is loaded by IE7.. you surely had to go out of your way to get it there.

  • User profile image
    ZippyV

    Winfx is not the .net framework.

  • User profile image
    pacelvi

    ZippyV wrote:
    Winfx is not the .net framework.


    WinFx is the abbreviation I chose to use in that post to represent the Framework. It was not the name of a file or process.

    So in this context, I meant it to be shorthand for the Framework.

  • User profile image
    John Galt

    You opened the feed explorer... likely it's implimented in .NET.

  • User profile image
    BruceMorgan

    John Galt wrote:
    You opened the feed explorer... likely it's implimented in .NET.
    No, it's not.  Nothing in IE7 is managed code, and the RSS platform is unmanaged as well.

    Anything managed is being brought in by an add-on of some type.

    You can use Manage Add-ons to figure out what's loaded in IE7 and see if anything is obviously managed.  Or you can trial-and-error disable things and restart until you've identified the add-on.

    Note that IE supports “Add ons Disabled” mode (right click on IE on the desktop and choose “NoAddOns”, or Windows Start menu, All Programs, Accessories, System Tools, Internet Explorer (No Add Ons)”.

  • User profile image
    prog_dotnet

    BruceMorgan wrote:
    
    John Galt wrote: You opened the feed explorer... likely it's implimented in .NET.
    Nothing in IE7 is managed code, and the RSS platform is unmanaged as well.
    .



    So why is that ? Sure the rendering and the low level stuff are not intended for managed code, but it would have been so cool if the UI had been managed. Imagine hooking IE into vs.net or the express editions making your own skins and personalize the interface either using bcl or ie api.

  • User profile image
    Rossj

    BruceMorgan wrote:
    and the RSS platform is unmanaged as well.


    I would have thought the RSS platform would have been a reasonable place to write in managed code, n'est pas?  Is there really *that* great a resistance on some teams?

  • User profile image
    rjdohnert

    Its all unmanaged code so that they could tie into the hooks of the OS.  This keeps people from being able to run it on platforms other than Windows XP and Windows Server 2003.  If they had written it in managed code than they would have no excuses as to why it wouldnt run on platforms that supported the .NET Framework.

    prog_dotnet wrote:
    BruceMorgan wrote:
    John Galt wrote: You opened the feed explorer... likely it's implimented in .NET.
    Nothing in IE7 is managed code, and the RSS platform is unmanaged as well.
    .



    So why is that ? Sure the rendering and the low level stuff are not intended for managed code, but it would have been so cool if the UI had been managed. Imagine hooking IE into vs.net or the express editions making your own skins and personalize the interface either using bcl or ie api.

  • User profile image
    pacelvi

    prog_dotnet wrote:
    
    BruceMorgan wrote: 
    John Galt wrote: You opened the feed explorer... likely it's implimented in .NET.
    Nothing in IE7 is managed code, and the RSS platform is unmanaged as well.
    .



    So why is that ? Sure the rendering and the low level stuff are not intended for managed code, but it would have been so cool if the UI had been managed. Imagine hooking IE into vs.net or the express editions making your own skins and personalize the interface either using bcl or ie api.



    Correct me if i'm wrong.. but  can't you do that with the System.Windows.Forms.WebBrowser class?

  • User profile image
    BruceMorgan

    IE7 doesn't use managed code for many reasons, large and small.
     
    The layering and dependency issues are the biggest issues.  Components of the IE stack such as WININET, URLMON, MSHTML, or the WebOC can't use managed code, because there are huge dependencies in both Windows and 3rd party code on those components.   Existing applications using those  components can't suddenly have .NET runtime dependency, startup perf, etc. issues injected into their process.

    For example, an application that uses WININET for its data layer can't suddenly load the CLR in process just because IE7 is installed on the system.   Maxthon can't have wildly different startup characteristics because IE7's WebOC needs to startup the .NET runtime.

    The "single version per process" issue also comes into play.  Imagine a managed application hosting the WebOC uses version X of the .NET runtime, and IE7's WebOC is somehow managed, but based on version X-0.2.  What happens?  Does the app run with version X, or version X-0.2?  Perhaps one, perhaps the other, perhaps it's nondeterministic based on load order because the components are delay loaded.  That's a disaster.

    Rossj wrote:
    

    BruceMorgan wrote: and the RSS platform is unmanaged as well.


    I would have thought the RSS platform would have been a reasonable place to write in managed code, n'est pas?  Is there really *that* great a resistance on some teams?

    I manage the dev team that owns the RSS platform, and I'm one of the architects of the API and the implementation.  Obviously IE7's RSS features are built on the RSS platform. 

    Since we were building a new platform, it's possible we could have used managed code.  After all, nobody is dependent on this new platform component.   So our only issues were using managed code in IE7 itself, as well as requiring anyone wishing to use the platform to be managed or take a dependency on managed code and the .NET runtime.   We decided to keep the new RSS platform unmanaged in order to support the broadest possible number of clients (IE7, Outlook 12, and others).  It's fairly simple to create a managed wrapper for the RSS platform and we put some effort into making sure the API design of the platform translated into managed code design patterns fairly well.

    rjdohnert wrote:
    Its all unmanaged code so that they could tie into the hooks of the OS.  This keeps people from being able to run it on platforms other than Windows XP and Windows Server 2003.  If they had written it in managed code than they would have no excuses as to why it wouldnt run on platforms that supported the .NET Framework.

    Given what I just explained, you can see how that theory is just another tinfoil hat theory.  Further, nothing stops managed code from being dependent on the features on the underlying unmanaged OS.  I could write a managed app today that's utterly dependent on features only available in Windows Vista.
  • User profile image
    Manip

    BruceMorgan wrote:
     It's fairly simple to create a managed wrapper for the RSS platform and we put some effort into making sure the API design of the platform translated into managed code design patterns fairly well.


    hmm ... That is assuming that the IE documentation was better. Would it really kill you guys to give one or two real examples? Perhaps even a whole application?  

  • User profile image
    rjdohnert

    Actually the perfect example of that is Powershell

    BruceMorgan wrote:

    Given what I just explained, you can see how that theory is just another tinfoil hat theory.  Further, nothing stops managed code from being dependent on the features on the underlying unmanaged OS.  I could write a managed app today that's utterly dependent on features only available in Windows Vista.

  • User profile image
    pacelvi

    Manip wrote:
     BruceMorgan wrote:  It's fairly simple to create a managed wrapper for the RSS platform and we put some effort into making sure the API design of the platform translated into managed code design patterns fairly well.hmm ... That is assuming that the IE documentation was better. Would it really kill you guys to give one or two real examples? Perhaps even a whole application?  


    Gee, you mean a whole application like this:

    http://msdn.microsoft.com/library/en-us/feedsapi/rss/howto/samp_screensaver.asp?frame=true

    But I know.. it's easier to just (I need to watch my language) and moan.

  • User profile image
    Bugslayer

    Manip wrote:
    Uhh I thought IE 7 was unmanaged? Why is it loading the .Net framework each time?


    Back to the question originally posted...

    Did we figure out what is loading .Net Framework in IE7b2?

    Is it an add-on?

    Or is it perhaps a windows-hook?

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.