IEInternals

A look at Internet Explorer from the inside out. @EricLaw left Microsoft in 2012, but was named an IE MVP in '13 & an IE userAgent (http://useragents.ie) in '14

Q&A: 64-Bit Internet Explorer

Q&A: 64-Bit Internet Explorer

Rate This
  • Comments 87

From time to time, folks ask a variety of questions about 64bit IE.  I hope to answer the most common questions here.

NEW: Internet Explorer 10 uses x64 in a fundamentally different way than IE7, IE8, and IE9, the versions for which the post below was written. By default, IE10's frame/manager process runs at 64bit, while Desktop Tab processes run in 32bit. Metro-style tab processes run at 64bit. A 64bit JIT was added to improve performance. You can learn more in this post.

Q: Can I install a 32bit version of IE on a 64bit version of Windows?

A: When you install the 64bit package, the 32bit version of IE will also be installed automatically.  You cannot install only the 32bit version on a 64bit operating system, because Internet Explorer updates OS platform components and must update both the 32bit and 64bit versions.

Q: As an end-user, how can I tell what bitness of IE I'm currently using?

A: To see if you're running the 64-bit version of IE, hit ALT+H to open the "Help" menu, and click "About Internet Explorer."  If you're running the 64bit version, this screen will say "64bit Edition." Alternatively, check out the x64 button add-on.

Q: From the server or from JavaScript, how can I tell what bitness of IE a web visitor is using?

A: The simplest method is to check the user-agent string.  See www.enhanceie.com/ie/webdev.asp#bitness for more info.

Q: Why isn't 64bit IE the default browser?  Why can't I set the 64bit version of IE as the default browser?

A: This was an explicit choice made by the IE team, which may change at some point in the future.  The problem is that users might inadvertently get "stuck" using the 64bit version and not realize it.  This might cause some problems.

Q: Why?  What does not work properly with 64bit IE?

A: Browser addons, including BHOs, Toolbars, and ActiveX controls, must generally be the same bitness as IE itself.  So, if you are running a 64bit version of IE, any site that uses, say, Adobe Flash, isn't going to work until you install the 64bit version of the addon.  Sadly, almost no browser addons are currently available in 64bit versions, although that's somewhat likely to change in the future as 64bit Windows becomes more prevalent. 

There are two 64bit add-ons that I do recommend:

  • The 64bit version of Ralph Hare's most excellent mouse gestures addon
  • My x64 button, which allows you to easily recognize 64bit IE and reopen the current page in 32bit IE

 Q: What options/settings are shared between 32bit and 64bit IE?

Generally speaking, 32bit and 64bit share configuration settings wherever possible.

Shared

  • Homepage and favorites
  • Search providers
  • Web slices
  • Accelerators
  • Context Menu Extensions
  • Security Zone settings
  • Autocomplete information, including passwords
  • Cookies: persistent cookies are shared
  • HTML5 Storage: localStorage is shared

Not Shared

  • Binary add-ons: each only loads add-ons that are of the correct "bitness"
  • Cookies: session cookies are not shared
  • HTML5 Storage: sessionStorage is not shared

Q: Why does 64bit IE9 get faster JavaScript benchmark scores than IE8 (32 or 64) but slower scores than 32bit IE9?

In IE9 there's one other major difference between the 32bit and 64bit versions of IE. IE9 includes a new script interpreter which is much faster than the script interpreter in IE8. However, 32bit IE9 also includes a Just In Time (JIT) script compiler which converts script into machine code before running it. There is no JIT compiler for 64bit IE. So, for benchmarks like SunSpider (and script-heavy sites) 32bit IE9 runs script up to 4 times as fast as 64bit IE9 (which itself runs script around 5x as fast as IE8). So, you could end up paying a significant speed penalty when using 64bit IE9 vs using the default 32bit version.

Telemetry data shows that less than half of one percent of IE browsing sessions are conducted in the 64bit browser.

Note: IE10 Preview shipped a 64bit JavaScript JIT compiler, and the Windows 8 "Metro-style" browser (which will not load browser extensions) runs its tabs in 64bit processes.

Q: So, is there any benefit to using 64bit IE?

A: There are a few advantages to using the 64-bit version:

  • Security: DEP/NX is always on for 64bit processes. (Of course, on Vista SP1+, 32bit IE8+ has DEP/NX enabled by default too.)
  • Security: Memory protections like ASLR are more effective (because the address space is dramatically larger)
  • Security: Most bad guys only bother to write x86 shellcode, which will fail in an x64 process
  • It may crash less. (Because most addons don't load in 64bit IE, it tends to be more reliable.)
  • It may be faster to start up. (Because most addons aren't loaded. You can disable add-ons in 32bit IE if you'd like)

Q: Okay, so why offer 64bit IE at all? 

Because we have to.  :-) 

One thing to keep in mind is that Internet Explorer is basically the combination of a number of platform components, including the networking components (URLMon/WinINET), the rendering components (MSHTML), the script engines (JScript.dll/JScript9.dll, vbscript.dll) and a variety of other pieces that hold it all together. These components must be made available in 64bit versions so that 64bit applications can be built using these components.  Additionally, because Internet Explorer can be launched/created/used as a COM Server, we offer a 64bit version to enable hosting inside 64bit processes.

While we could have done work to make it harder for users to get to 64bit IE (e.g. by not creating a Start menu shortcut), I don't think there's any compelling reason to do so.

One day, 64bit IE might see a lot more use, as 64bit systems take over and 64bit add-ons become available.  Time will tell.

Got another question (or answer) about IEx64?  Let me know!

  • Is there a way to suppress the x64 icon from showing in the startmenu for all users?  I am trying to deploy Win 7 in a corporate environment and I don't want users able to launch x64 because I expect it will lead to a lot of service desk calls.  All of the normal ways I would have done this with XP dont appear to work in 7.

  • I am running windows 7 pro, when I use IE 32 bit it locks out my desktop icons.  This does not happen with IE 64 bit, but as noted many times 32 bit is the default and I frequently have  to use 32 bit.  How do I make it stop freezing my desktop icons?  Everything runs fine from the start menu, but not the desktop.

  • @David: What does "locks out my desktop icons" mean? Do you see any difference if you run 32bit IE with add-ons disabled?

  • "locks out my desktop icons" means that all of the icons on my desktop are frozen.  This happens every time I use IE 32 bit.  Never happens when I use 64 bit.  Once the IE 32 bit is closed none of the icons on the desktop work, you can not click on them and they don't even highlight when you put the cursor on them.  All programs run just fine from the start menu or the taskbar, just not the desktop.  Restarting the system always solves the issue untill IE 32 bit is used again.  I have also noticed since my last post that if I check the task manager after using IE 32 bit there are always 2 processes called "iexplore.exe*32" listed, if I end both of these processes everything works just fine without a restart.  This is an extra step  I would like to avoid.  Thank You for your help and any further assistance is greatly appreciated, I am not a "computer guy" so I am learning alot!

  • AAHAA!!!  After your question about add-ons (which I knew nothing about) I found the settings for them in the tools menu.  Through a somewhat lengthy process of elimination I have concluded that the "AVG security toolbar" was the culprit.  When it is disabled everything seems to work just fine.  I hope this "AVG security toolbar" is not something too important and I am safe leaving it disabled.  Thanks again for your help!

  • I have recently encountered a difference between 32 and 64-bit IE8 that puzzles me: I have enabled telnet from a URL (telnet://<ip address> as I had on my WIndows XP and Windows Vista 32-bit systems, but it only works on Windows 7 on the 64-bit version of IE.

    Here are the updates I performed in the registry to enable this:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_DISABLE_TELNET_PROTOCOL]
    "iexplore.exe"=dword:00000000

    [HKEY_CLASSES_ROOT\telnet]
    @=URL:Telnet
    "URL Protocol"=""

    [HKEY_CLASSES_ROOT\telnet\DefaultIcon]
    @="C:\\WINDOWS\\System32\\telnet.exe"

    [HKEY_CLASSES_ROOT\telnet\shell]
    [HKEY_CLASSES_ROOT\telnet\shell\open]
    [HKEY_CLASSES_ROOT\telnet\shell\open\command]
    @="wscript.exe C:\\WINDOWS\\vbtelnet.vbs %1"

    Here is the contents of the VBS file called:
    Dim ArgObj
    Dim inputHost
    Set ArgObj = WScript.Arguments
    If Wscript.Arguments.Count < 1 Then
       Wscript.Echo "Hostname or IP Address required." 
       WScript.Quit(-1)
    Else
       inputHost = ArgObj(0)
    End If
    Dim cmd2run
    Dim spCommand
    ArrayInputhost=Split(inputhost, "//")
    inputhost=ArrayInputhost(1)
    If right(inputhost,1)="/" then
    inputhost=left(inputhost,Len(inputhost)-1)
    End If
    cmd2run = "telnet.exe " & inputHost
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run("%comspec% /k " + cmd2run)

    Any ideas on why this will only work with 64-bit IE8, and even more important, how I could make it work on the 32-bit version?

    Thanks!
    Mike D

  • MikeD: The problem with your registry script is that it creates the TELNET protocol handler in the 64bit registry only. To create the handler in your 32bit registry, launch the 32bit regedit.exe and create the following key:

    [HKEY_CURRENT_USER\Software\Classes\telnet\shell\open\command]

    @="wscript.exe C:\\WINDOWS\\vbtelnet.vbs %1"

  • Thanks Eric. That was an important piece. I added that and got closer to the solution, and it also gave me a clue on one final piece of the puzzle that ulimately fixed it. When I ran this with IE64, it ran perfectly. When I ran it with 32bit, it said "'telnet' is not recognized as an operable program or batch file." As it turns out, IE32 was opening up a 32-bit command prompt, so it would not find the 64-bit telnet.exe. To solve this, I copied telnet.exe from a 32-bit version of Windows Server 2003 to the SysWOW64 subdirectory, and now all is working.

    Thanks again for the quick response and knowledgeable answer! I am impressed with both!

    - Mike D

  • Now that there's a 64-bit flash player from Adobe, will Microsoft rethink things and allow use of 64-bit IE as default browser?  Or would I be better using beta IE9?  Is IE9 64-bit?

  • @bjschmitt: As with IE7 and IE8, IE9 is available in both 32bit and 64bit flavors. As before you cannot set 64bit IE as the default, and there's little reason to do so.

    The release of a manually-installable beta of Flash in 64bit doesn't really change much, because few users will have the beta, and few sites will be updated to properly suggest installing it. Most other controls and add-ons are not 64bit.

    Notably, in IE9 there's one other major difference between the 32bit and 64bit versions of IE. IE9 includes a new script interpreter which is much faster than the script interpreter in IE8. However, 32bit IE also includes a Just In Time  (JIT) script compiler which converts script into machine code before running it. There is no JIT compiler for 64bit IE. So, for benchmarks like SunSpider (and script-heavy sites) 32bit IE9 runs script up to 4 times as fast as 64bit IE9 (which itself runs script around 5x as fast as IE8). So, you could end up paying a significant speed penalty when using 64bit IE9 vs using the default 32bit version..

  • Thanks, Eric!

  • IE8 64-bit doesn't play nice with our VPN solution.  Users are accidentally using the wrong version of IE.  How do I get rid of the shortcut off of all my corporate machine that are running Windows 7 x64?

  • @MikeSic: I'm afraid that's a Windows Explorer question, not an IE question, so I can't really help with that. You probably should talk to your VPN vendor and ask them to support 64bit browsers, considering that their use is likely to become more common over time.

  • There is a new (albeit moderately isolated) scenario where having 64-bit IE as the default browser is beneficial. I am currently using the Outlook View Control in a webpage which is called from an external application (SAP NetWeaver Business Client). On Windows 7 x64 with Office 2010 64-bit installed, Outlook View Control is only supported in 64-bit IE. By default, NWBC attempts to open OVC in 32-bit IE, since it is the default browser. This results in an empty control box with no information, as opposed to opening the same webpage in 64-bit IE manually, which works just fine.

    I expect as applications that include IE add-on functionality continue to transition to 64-bit, the case for making use of IE 64-bit will grow as well. For now, I will have to live with avoiding deploying Office 2010 64-bit on any machines, since the desired scenario is currently unsupported.

  • @TomC: That's an interesting scenario, but I don't think that relying upon the bitness of the default browser is a very robust approach. If you're launching the default browser and expecting it to be Internet Explorer, that's one mistake, but expecting it to be 64bit, that's another mistake. If your client requires a particular browser at a particular bitness to launch, then your client needs to launch that browser&bitness directly.

Page 3 of 6 (87 items) 12345»
Leave a Comment
  • Please add 2 and 8 and type the answer here:
  • Post