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é.
D'autres modules sont développés pour 32 et 64 bits comme Microsoft Silverlight.
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.
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.
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é.
Mode protégé amélioré activé lors de l’installation de l’ActiveX
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 |
Comments
- Anonymous
May 09, 2016
Bravo et merci. Article très clair et très pédagogique tout en étant complet.