Internet Explorer : 32 ou 64 bits ?

Avec la démocratisation des plateformes 64 bits, de nombreux clients installent une version 64 bits de Windows. Aussi, afin d'assurer la compatibilité avec des applications 32 bits, les applications intégrées à Windows sont disponibles dans les deux versions, c'est le cas d'Internet Explorer.

Internet Explorer : 32 ou 64 bits ?

Internet Explorer est donc disponible en 32 et 64 bits ceci afin d'assurer une compatibilité avec les modules complémentaires (ActiveX, barre d'outils, Browser Helper Object - BHO). En effet, un ActiveX compilé pour 32 bits ne fonctionnera qu'avec la version 32 bits d'Internet Explorer et vice versa.

Par exemple, l'ActiveX du catalogue Microsoft Update peut être en 32 bits ou 64 bits selon la version du navigateur utilisé.

imageimage

D'autres modules sont développés pour 32 et 64 bits comme Microsoft Silverlight.image

Architecture d’Internet Explorer

A partir d’Internet Explorer 8, l’architecture a été améliorée en apportant une modification de la gestion des onglets ave le LCIE (Loosely-Coupled Internet Explorer). Le LCIE permet d’isoler les processus des onglets (IE_Content) d’Internet Explorer du processus parent (IE_Manager) qui, lui, héberge l’interface d’Internet Explorer (Favoris, Barre de menus) ainsi que le Protected-Mode Broker Object.

Le Protected Mode Broker Object décide si le site web doit être ouvert en mode protégé ou non en fonction de la zone de sécurité. Le LCIE offre plus de stabilité et de performance, si un onglet crash, celui-ci ne bloque pas le reste des onglets ouverts.

Avec le LCIE, vous avez donc deux processus Iexplore.exe qui sont démarrés : IE_Manager (processus parent) et un processus enfant (IE_Content). En fonction de l’activation du mode protégé ou du nombre d’onglets à ouvrir ou de la mémoire disponible (TabProcGrowth), plusieurs processus enfants sont démarrés.

Voici un schéma de l’architecture d’Internet Explorer 8. Pour plus d'informations vous pouvez consulter l'article suivant : https://blogs.msdn.com/b/ie/archive/2008/03/11/ie8-and-loosely-coupled-ie-lcie.aspx

Internet Explorer 8 et 9

Avec Internet Explorer 8, le comportement par défaut est d'utiliser la version 32 bits. Par exemple, le raccourci épinglé dans la barre de tâches pointe vers la version 32 bits. Le comportement par défaut est d'utiliser la version 32 bits pour assurer une meilleure compatibilité avec les modules complémentaires. En effet de nombreux ActiveX ou BHO (Browser Helper Objects) ne sont disponibles qu'en 32 bits.

Si l'utilisateur souhaite lancer la version 64 bits, il doit le faire explicitement en lançant par exemple le raccourci Internet Explorer (64 bits) depuis le menu Démarrer. Cependant, les modules en 32 bits seront désactivés et l'expérience utilisateur sera réduite.

image

Ce raccourci Internet Explorer 64 bits fait donc l'objet d'une attention particulière par certains IT qui sont tentés de le supprimer pour ne pas que l'utilisateur démarre, par erreur, la version 64 bits.

Il est tout à fait possible de supprimer le raccourci Internet Explorer (64 bits) par exemple avec les Group Policy Preferences. Par contre, il n'est pas recommandé de bloquer l'exécution du processus iexplore.exe situé dans C:\Program Files.

 

Internet Explorer 10 et 11

A partir d'Internet Explorer 10, l'architecture a été revue. De ce fait, le problème du double raccourci (32 bits et 64 bits) n'existe plus avec IE10/IE11.

En effet à partir d'Internet Explorer 10, Internet Explorer démarre un processus parent (IE_Manager) en 64 bits quel que soit le raccourci utilisé.

Par contre les onglets (IE_Content, le rendu des pages webs) sont exécutés en 32 bits. Ainsi, une meilleure compatibilité avec les add-ons et extensions est assurée.

Toutefois il existe une exception pour la version Immersive (Modern UI) d'Internet Explorer sous Windows 8 qui est toujours exécutée en 64 bits.

Il est également possible de forcer l'exécution des processus Internet Explorer en 64 bits en activant le mode protégé amélioré. Mais ceci ne sera possible que si le site web se trouve dans une zone de sécurité où le mode protégé est activé. Par défaut, le mode protégé est activé sur les zones de sécurité Sites sensibles et Internet. La recommandation est de laisser le mode protégé activé sur ces zones.

Dans Internet Explorer 11, il faudra en plus cocher l'option Activer les processus 64 bits pour le mode protégé amélioré. Cette option peut être configurée par GPO.

image

Note : Le mode protégé amélioré sous Windows 8 permet de restreindre les permissions du processus iexplore.exe en utilisant le niveau d'intégrité AppContainer. Les add-ons non compatibles avec le niveau d'intégrité AppContainer seront désactivés si le mode protégé amélioré (Enhanced Protected Mode) est activé. Aussi, si un add-on est incompatible avec le mode protégé, Internet Explorer vous proposera de l'exécuter dans un mode moins sécurisé :

Dans cet exemple, le composant Catalogue Microsoft Update sera exécuté en mode protégé au lieu du mode protégé amélioré.

image
Mode protégé amélioré activé lors de l’installation de l’ActiveX

image
Bascule du mode protégé amélioré vers le mode protégé car l’ActiveX n’est pas compatible avec le mode protégé amélioré.

Récapitulatif

Vous pouvez vous référer au schéma suivant pour savoir quand est-ce qu'un processus IE est en 32 ou 64 bits afin de comprendre pourquoi tel ou tel add-on fonctionne ou non.

 

Windows 7x64

IE8 x86

IE9 x86

IE8 x64

IE9 x64

IE10/IE11

IE10/IE11

avec EPM

IE_Manager (Processus parent)

32 bits

32 bits

64 bits

64 bits

64 bits

64 bits

IE_Content (Processus Enfant

32 bits

32 bits

64 bits

64 bits

32 bits

64 bits

 

Windows 8

IE10

IE10 avec EPM

IE10 mode immersif

IE_Manager (Processus parent)

64 bits

64 bits

64 bits

IE_Content (Processus Enfant

32 bits

64 bits

64 bits

 

 

Windows 8.1

IE11

IE11 avec EPM

IE11 avec activation 64 bits EPM /IE11 mode immersif

IE_Manager (Processus parent)

64 bits

64 bits

64 bits

IE_Content (Processus Enfant

32 bits

32 bits

64 bits

 

image