Fragen & Antworten zu dem Thema Internet Explorer 64bit

Da das Thema “64bit” auch vor dem Internet Explorer nicht halt macht, hat sich Eric Lawrence (Program Manager des Internet Explorer Teams und Autor der Fiddler Software) vor einiger Zeit mit einem Q&A dem Thema angenommen, hier nun die deutsche Übersetzung:

F: Kann ich eine 32bit version des Internet Explorers auf einem 64bit Windows installieren?

A: Auf 64bit Windows Betriebssystemen sind sowohl die bekannten 32bit als auch die neuen 64bit Komponenten installiert. Dazu zählt auch der Internet Explorer. Aus kompatibilitäts Gründen ist der 32bit Internet Explorer auch als Standardbrowser konfiguriert.

F: Wie kann ich feststellen, welchen Internet Explorer ich aktuell verwende?

A: Dies lässt sich auf mehreren Wegen feststellen:

  1. Über die Hilfe->Über [Alt+H->Über Internet Explorer] Funktion:
    x86/32bit: 
    image
    x64/64bit:
    image
  2. Über den Taskmanager, der Prozess, der mit *32 gekennzeichnet ist, ist der x86/32bit Internet Explorer:
    image

F: Wie kann mittels server- (z.B. .NET) bzw. clientside (z.B. Javascript) Scripting/Coding herausgefunden werden, welche Internet Explorer Version eingesetzt wird?

A: Die einfachste Methode ist das Auswerten des User-Agent Strings:

  • 32bit IE on 64bit Windows: User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; .NET CLR 2.0.50727)
  • 64bit IE on 64bit Windows: User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Win64; x64; .NET CLR 2.0.50727)

vgl. hierzu “Detect IE Bitness (32bit / 64bit)

F: Warum ist die 64bit Version des Internet Explorers nicht der default Browser auf 64bit Systemen?

A: Das Problem mit 32bit vs. 64bit ist, dass es nicht möglich ist eine 32bit DLL im Kontext eines 64bit Prozesses zu laden und umgekehrt. Da die meisten ActiveX Controls und BHOs aber in 32bit erstellt werden/worden sind, würde einem Nutzer der 64bit Version ggf. Funktionalität genommen.
Damit also die User Experience unverändert bleibt, hat das Internet Explorer Team die Entscheidung gefällt, dass –vorerst- der default Broweser der 32bit Internet Explorer ist.

Neben diesen offensichtlichen Gründen gibt es noch einen weiteren Grund:

Der JustInTime (JIT) Script Compiler wurde (noch/derzeit) nicht für die 64bit Version des Internet Explorer’s portiert (auch in IE9 nicht!). Daher ist grade bei aufwändigen Javascript Applikationen die 32bit Version vorzuziehen.
Das bedeutet, dass die Chakra Enginee zwar im 64bit Internet Explorer 9 integriert ist, aber nicht der JIT Compiler, der aus dem “Script” nativen Code erzeugt, der deutlich schneller abgearbeitet werden kann/könnte.

F: Gibt es denn trotzdem sinnvolle Gründe für den Einsatz von Internet Explorer 64bit?

A: Es gibt derzeit eigentlich keine wirklichen Gründe. Hier ein paar Gründe die wir öfter hören, die sich aber insb. durch die geringere Anzahl an ActiveX Controls erklären lassen und diesen Gründen sind wir bei der Änderung des default Verhaltens nach der Installation von ActiveX Controls im Internet Explorer 9 entgegen getreten:

  • DEP/NX ist bei jedem x64 Prozess automatisch aktiviert – seit Internet Explorer 8 und Internet Explorer 7 auf Vista SP1+ gilt dies auch für jeden 32bit Internet Explorer. Außerdem kann dies über das Advanced Setting “Datenausführungsverhinderung aktivieren” steuern.
  • Internet Explorer Prozesse werden weniger häufig unfreiwillig beendet: dies lässt sich auf weniger geladene 3rd party ActiveX Controls zurückführen
  • Internet Explorer Prozesse starten schneller: auch dies ist auf weniger geladene Add-Ons zurückzuführen

F: Warum wurde dann überhaupt eine 64bit Version des Internet Explorers erstellt?

A: Da der Internet Explorer, bzw. die Mehrzahl seiner Komponenten, Bestandteile des Betriebssystems ist. Diese Komponenten sind insb. die Netzwerkkomponenten (URLMon für das Handling aller Namen und der verwendeten Zonen, WinINET für die Netzwerkkommunikation), sowie die Rendering Engine (MSHTML) und bedingt (s.o.) auch die Scripting Engines (JScript(9) und vbscript). Da ein Windows Betriebssytem ohne diese Komponenten nicht auskommen kann, wurde diese selbstverständlich für die 64bit Systeme portiert und das Portieren der “iexplore.exe” war dann der geringste Part.

Hier ist also erkennbar, dass derzeit der Internet Explorer 64bit eher für das Betriebssystem als für den Benutzer erstellt wurde. Dies mag sich in der Zukunft ändern, derzeit können wir dies aber noch nicht absehen.