Considérations générales relatives à la compatibilité des programmes 32 bits sur les versions 64 bits de Windows Server 2003 et Windows XP

Traductions disponibles Traductions disponibles
Numéro d'article: 896456 - Voir les produits auxquels s'applique cet article
Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.
Agrandir tout | Réduire tout

Sommaire

Résumé

Les versions 64 bits de Microsoft Windows Server 2003 et Microsoft Windows XP utilisent le sous-système Microsoft Windows-32-on-Windows-64 (WOW64) pour exécuter des programmes 32 bits sans modification. Les versions 64 bits de Windows Server 2003 et de Windows XP ne fournissent pas la prise en charge des fichiers binaires 16 bits ni des pilotes 32 bits. Les programmes qui dépendent de fichiers binaires 16 bits ou de pilotes 32 bits ne peuvent pas s'exécuter sur les versions 64 bits de Windows Server 2003 ou de Windows XP, à moins que le fabricant du programme ne fournisse une mise à jour du programme.

Certains facteurs peuvent affecter la compatibilité ou les performances d'un programme. Vous pouvez déterminer si un programme présentera des problèmes de compatibilité ou de performances en le testant sur l'une des versions 64 bits de Windows Server 2003 ou Windows XP.

Cet article décrit certaines des considérations relatives à la compatibilité des programmes 32 bits sur les versions 64 bits de Windows Server 2003 et Windows XP. Il ne propose pas de comparaison entre les versions 32 bits et 64 bits de Windows Server 2003 et de Windows XP, ni entre différents systèmes d'exploitation 64 bits. Cet article suppose que vous compreniez la différence entre les fichiers binaires 32 bits et 64 bits.

Bien que les considérations relatives à la compatibilité décrites dans cet article s'appliquent aux versions 64 bits de Windows Server 2003 et Windows XP, cet article a été rédigé principalement pour Microsoft Windows Server 2003 Service Pack 1 (SP1). Toute différence de fonctionnalité majeure entre Windows Server 2003 SP1 et les versions 64 bits antérieures de Windows Server 2003 fait l'objet d'une mention particulière.

INTRODUCTION

Les versions x64 de Microsoft Windows Server 2003 et Microsoft Windows XP Professionnel Édition x64 Edition sont optimisées pour exécuter des programmes 64 bits natifs. En outre, les versions x64 de Windows Server 2003 et Windows XP Professionnel Édition x64 utilisent le sous-système WOW64 pour exécuter des programmes 32 bits.

Plus d'informations

Exécution de programmes 32 bits

Le sous-système WOW64 permet aux programmes 32 bits de s'exécuter sans modification sur les versions x64 de Windows Server 2003 et sur Windows XP Professionnel Édition x64. Pour cela, celui-ci crée un environnement 32 bits sur les versions x64 de Windows Server 2003 et sur Windows XP Professionnel Édition x64. Pour plus d'informations sur le sous-système WOW64, consultez la rubrique relative à l'exécution d'applications 32 bits dans la section relative aux versions 64 bits de Windows de la documentation du Kit de développement logiciel Microsoft Platform SDK. Pour afficher ce document, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/library/aa384249.aspx

Considérations relatives aux performances des programmes

Le sous-système WOW64 crée un environnement 32 bits sur les versions x64 de Windows Server 2003 et sur Windows XP Professionnel Édition x64. Certains programmes 32 bits peuvent s'exécuter plus lentement sur ces systèmes d'exploitation que sur les versions 32 bits de Windows Server 2003 et de Windows XP. Par exemple, un programme 32 bits peut s'exécuter plus lentement sur Windows XP Professionnel Édition x64 que sur Windows XP Professionnel. En revanche, certains programmes 32 bits qui nécessitent une quantité de mémoire importante peuvent présenter de meilleures performances sur les versions x64 de Windows Server 2003 et sur Windows XP Professionnel Édition x64. Cette augmentation des performances se produit car les versions x64 de Windows Server 2003 et Windows XP Professionnel Édition x64 prennent en charge une quantité de mémoire physique supérieure aux versions 32 bits de Windows Server 2003 et de Windows XP Professionnel.

Pour plus d'informations sur les différences au niveau de la gestion de la mémoire entre les versions 32 bits et 64 bits de Windows, consultez la rubrique relative à l'espace d'adressage virtuel dans la section traitant de la gestion de la mémoire de la documentation du Kit de développement logiciel Microsoft Platform SDK. Pour consulter ce document, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/library/aa366912.aspx

Restrictions relatives au sous-système WOW64

Le sous-système WOW64 ne prend pas en charge les programmes suivants :
  • programmes compilés pour des systèmes d'exploitation 16 bits ;
  • programmes en mode noyau compilés pour des systèmes d'exploitation 32 bits.

programmes 16 bits

Les versions x64 de Windows Server 2003 et Windows XP Professionnel Édition x64 ne prennent pas en charge les programmes 16 bits ou les composants de programmes 16 bits. L'émulation logicielle requise pour exécuter des programmes 16 bits sur la version x64 de Windows Server 2003 ou sur Windows XP Professionnel Édition x64 diminuerait sensiblement les performances de ces programmes.

Un programme d'installation 16 bits est fréquemment utilisé pour installer et configurer un programme 32 bits. De plus, certains programmes 32 bits requièrent des composants 16 bits pour s'exécuter correctement. Bien que des programmes 32 bits qui requièrent des composants 16 bits puissent s'exécuter correctement après leur installation, vous ne pouvez pas utiliser de programme d'installation 16 bits pour installer un programme 32 bits. Les programmes qui requièrent des composants 16 bits ne peuvent pas s'exécuter sur des versions x64 de Windows Server 2003 ni sur Windows XP Professionnel Édition x64.

Si un programme 32 bits qui requiert des composants 16 bits tente d'exécuter un fichier ou un composant 16 bits, le programme 32 bits enregistre un message d'erreur dans le journal système. Le système d'exploitation laisse ensuite le programme 32 bits gérer l'erreur.

Pour déterminer si un programme requiert un composant 16 bits, installez et exécutez le programme. S'il génère un message d'erreur, contactez le fabricant du programme afin d'obtenir une mise à jour compatible avec les versions x64 de Windows Server 2003 et avec Windows XP Professionnel Édition x64.

pilotes 32 bits

Les versions x64 de Windows Server 2003 et Windows XP Professionnel Édition x64 ne prennent pas en charge les pilotes 32 bits. Tous les pilotes de périphériques matériels et pilotes de programmes doivent être compilés spécifiquement pour la version x64 de Windows Server 2003 et pour Windows XP Professionnel Édition x64.

Si un programme 32 bits tente d'installer un pilote 32 bits sur un ordinateur qui exécute une version x64 de Windows Server 2003 SP1 ou Windows XP Professionnel Édition x64, l'installation du pilote échoue. Dans ce cas, la version x64 de Windows Server 2003 SP1 ou Windows XP Professionnel Édition x64 signale une erreur au programme 32 bits.

Si un programme 32 bits tente d'inscrire un pilote 32 bits pour le démarrage automatique sur un ordinateur qui exécute une version x64 de Windows Server 2003 SP1 ou Windows XP Professionnel Édition x64, le programme de démarrage système reconnaît que le pilote 32 bits n'est pas pris en charge. La version x64 de Windows Server 2003 ou Windows XP Professionnel Édition x64 ne démarre pas le pilote 32 bits, mais démarre les autres pilotes inscrits.

Pour déterminer si un programme requiert un pilote 32 bits, installez et exécutez le programme. S'il génère un message d'erreur, contactez le fabricant du programme afin d'obtenir une mise à jour compatible avec les versions x64 de Windows Server 2003 et avec Windows XP Professionnel Édition x64.

Considérations supplémentaires

Redirection de Registre et de fichiers

Le sous-système WOW64 isole les fichiers binaires 32 bits des fichiers binaires 64 bits en redirigeant les appels au Registre et certains appels au système de fichiers. Le sous-système WOW64 isole les fichiers binaires afin d'empêcher un fichier binaire 32 bits d'accéder accidentellement à des données d'un fichier binaire 64 bits. Par exemple, un fichier binaire 32 bits qui exécute un fichier .dll à partir du dossier %systemroot%\System32 pourrait accidentellement essayer d'accéder à un fichier .dll 64 bits incompatible avec le fichier binaire 32 bits. Pour empêcher cela, le sous-système WOW64 redirige l'accès du dossier %systemroot%\System32 vers le dossier %systemroot%\SysWOW64. Cette redirection évite les erreurs de compatibilité car elle requiert que le fichier .dll soit conçu spécifiquement pour fonctionner avec des programmes 32 bits.

Pour plus d'informations sur la redirection de Registre et de système de fichiers, consultez la rubrique relative à l'exécution d'applications 32 bits dans la section consacrée à Windows 64 bits dans la documentation du Kit de développement logiciel Microsoft Platform SDK. Pour afficher ce document, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/library/aa384249.aspx
Le sous-système WOW64 redirige les appels binaires 32 bits sans exiger de modification des fichiers binaires 32 bits. Toutefois, vous pourrez constater l'existence de cette redirection lors de l'exécution de certaines tâches. Par exemple, si vous tapez un script de ligne de commande à partir d'une invite de commandes 64 bits, l'invite de commandes ne pourra peut-être pas accéder aux programmes 32 bits du dossier Program Files. Le sous-système WOW64 redirige et installe les programmes 32 bits dans le dossier Program Files (x86). Pour accéder au dossier correct, vous devez modifier le script de ligne de commande. En guise d'alternative, vous pouvez taper le script de ligne de commande à partir d'une invite de commandes 32 bits. L'invite de commandes 32 bits redirige automatiquement les appels au système de fichiers vers le répertoire 32 bits correct.

Pour démarrer une invite de commandes 32 bits, procédez comme suit :
  • Cliquez sur Démarrer, sur Exécuter, entrez %windir%\SysWoW64\cmd.exe, puis cliquez sur OK.

Vérification de la version

Certains programmes 32 bits examinent les informations de version du système d'exploitation. Une grande partie des programmes 32 bits qui effectuent cette vérification ne reconnaissent pas les versions x64 de Windows Server 2003 ni Windows XP Professionnel Édition x64 comme des systèmes d'exploitation compatibles. Dans ce cas de figure, le programme 32 bits génère une erreur de vérification de version, puis se ferme. Si ce problème se produit, contactez le fabricant du programme 32 bits afin d'obtenir une mise à jour compatible avec les versions x64 de Windows Server 2003 et avec Windows XP Professionnel Édition x64.

Microsoft .NET Framework

Un programme compilé avec le Microsoft .NET Framework s'exécute en tant que programme 32 bits dans le sous-système WOW64 si les conditions suivantes sont remplies :
  • le bit ILONLY est défini dans les informations d'en-tête du programme ;
  • le programme a été compilé avec Microsoft .NET Framework 1.1.
Si le bit ILONLY n'est pas défini dans les informations d'en-tête du programme ou si le programme a été compilé avec Microsoft .NET Framework version 2.0, le programme s'exécute en tant que programme 64 bits natif.

pilotes 32 bits

Les versions x64 de Windows Server 2003 et Windows XP Professionnel Édition x64 ne contiennent pas de pilote graphique OpenGL. Contactez le fabricant du périphérique afin d'obtenir un pilote compatible avec les versions x64 de Windows Server 2003 et avec Windows XP Professionnel Édition x64.

console MMC (Microsoft Management Console)

Les versions x64 de Windows Server 2003 et Windows XP Professionnel Édition x64 utilisent la version 64 bits de la console MMC pour exécuter différents composants logiciels enfichables. Toutefois, vous aurez parfois besoin de la version 32 bits de la console MMC pour exécuter des composants logiciels enfichables dans le sous-système WOW64. Pour plus d'informations sur le comportement de la console MMC sur les versions x64 de Windows Server 2003 et sur Windows XP Professionnel Édition x64, consultez la rubrique relative à l'exécution de composants logiciels enfichables dans les versions 64 bits de Windows dans la section relative à l'utilisation de MMC 2.0 de la documentation du Kit de développement logiciel Microsoft Platform SDK. Pour consulter ce document, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/library/aa815172.aspx

Considérations relatives à Itanium

Les sections suivantes décrivent brièvement les considérations et limitations spécifiques aux programmes 32 bits qui s'exécutent sur les versions Itanium de Microsoft Windows Server 2003 et Microsoft Windows XP.

Intel Architecture 32-bit Execution Layer (IA-32 EL)

Les versions Itanium de Microsoft Windows Server 2003 Service Pack 1 (SP1) et de Microsoft Windows XP utilisent la couche d'exécution 32 bits à architecture Intel (IA-32 EL) pour prendre en charge les programmes 32 bits. Dans les versions Itanium antérieures de Microsoft Windows Server 2003 et Windows XP, ces programmes étaient pris en charge par le sous-système WOW64. Celui-ci utilise du matériel spécial dans le processeur pour exécuter des instructions x86 pour les programmes 32 bits. Toutefois, la couche d'exécution IA-32 EL traduit les instructions x86 pour les programmes 32 bits en instructions comparables pour la version Itanium de Windows Server 2003 et Windows XP. La couche d'exécution IA-32 EL traduit les instructions x86 pour les programmes 32 bits en mode natif 64 bits, puis laisse le sous-système WOW64 exécuter les programmes 32 bits sur le matériel de processeur Itanium.

L'exécution d'un programme 32 bits sur le matériel de processeur Itanium peut améliorer les performances du programme 32 bits. Vous pourrez constater une augmentation des performances bien qu'une surcharge de traitement soit engendrée lorsque la couche IA-32 EL traduit les instructions entre les jeux d'instructions 32 bits et 64 bits. La couche IA-32 EL offre de nombreuses fonctionnalités améliorant les performances des programmes 32 bits. Par exemple, elle peut mettre en cache les instructions qui ont déjà été traduites. Cela améliore les performances d'un programme 32 bits en cours d'exécution.



Gestion de la mémoire

Sur les versions Itanium de Microsoft Windows Server 2003 et de Windows XP, les fonctionnalités suivantes du gestionnaire de mémoire ne sont pas prises en charge pour les programmes 32 bits :
  • Entrée/Sortie scatter/gather
    Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    160606 Améliorations de performances pour SQL Server sous Windows NT
  • Address Windowing Extensions (AWE)
  • Notifications des modifications de page mémoire
Les programmes 32 bits qui requièrent ces fonctionnalités ne peuvent pas s'exécuter sur les versions Itanium de Windows Server 2003 et de Windows XP. Vous devez exécuter une version 64 bits du programme.

Si un programme 32 bits qui requiert ces fonctionnalités de gestion de la mémoire génère un message d'erreur, contactez le fabricant du programme afin d'obtenir une mise à jour compatible avec les versions Itanium de Windows Server 2003 et de Windows XP.

Prise en charge des graphismes

Le tableau suivant répertorie les solutions graphiques prises en charge pour les fichiers binaires 32 bits qui s'exécutent sur les versions Itanium de Windows Server 2003 et Windows XP.
Réduire ce tableauAgrandir ce tableau
Solution graphiqueAccélération logicielleAccélération matérielle
DDrawOuiNon
D3D3NonNon
D3D5NonNon
D3D6NonNon
D3D7NonNon
D3D8NonNon
D3D9NonNon
OpenGLOuiOui
Dans les cas où l'accélération graphique matérielle n'est pas prise en charge, les fichiers binaires qui la requièrent ne s'exécuteront pas en tant que fichiers binaires 32 bits sur les versions Itanium de Windows Server 2003 et de Windows XP. De plus, les fichiers binaires 32 bits qui utilisent des graphismes de manière intensive verront leurs performances décroître lorsque l'accélération matérielle ne sera plus prise en charge.

Si un programme 32 bits requiert l'accélération matérielle DirectX, contactez le fabricant du programme afin d'obtenir une mise à jour compatible avec les versions Itanium de Windows Server 2003 et de Windows XP.

Considérations relatives à x64

Les versions x64 de Windows Server 2003 et de Windows XP Professionnel Édition x64 prennent en charge des instructions 32 bits et 64 bits. Le sous-système WOW64 peut exécuter des programmes 32 bits en mode natif 64 bits en basculant le mode natif du processeur. Aucune couche matérielle ou logicielle distincte n'est nécessaire. Vous ne constaterez pas forcément de dégradation des performances lors de l'exécution d'un programme 32 bits sur les versions x64 de Windows Server 2003 ou sur Windows XP Professionnel Édition x64.

Pour plus d'informations sur les performances d'un processeur x64, contactez le fabricant du processeur ou reportez-vous au site Web du fabricant.Les informations et la solution décrites dans ce document représentent l'opinion actuelle de Microsoft Corporation à la date de publication. Cette solution est disponible par le biais de Microsoft ou d'un fournisseur tiers. Microsoft ne recommande aucun fournisseur tiers ni aucune solution tierce spécifique mentionné dans cet article. Il peut exister également d'autres fournisseurs tiers ou solutions tierces non mentionnés dans cet article. Microsoft étant tenu de répondre aux évolutions du marché, ces informations ne doivent pas être interprétées comme un engagement de la part de Microsoft. Microsoft ne peut garantir l'exactitude des informations ou des solutions présentées par Microsoft ou par tout fournisseur tiers mentionné.

Microsoft ne fournit aucune garantie et exclut toute représentation, garantie et condition explicite, implicite ou prévue par la loi. Sont également concernés : les représentations, garanties ou conditions de titre, absence de contrefaçon, condition satisfaisante, qualité marchande et adéquation à un usage particulier relatifs aux services, solutions, produits ou autres informations. En aucun cas Microsoft ne sera tenu responsable des solutions tierces mentionnées dans cet article.

Références

Pour plus d'informations sur le processeur AMD6, reportez-vous au site Web d'Advanced Micro Devices à l'adresse suivante :
http://www.amd.com/fr/Pages/AMDHomePage.aspx
Microsoft fournit des informations relatives aux contacts tiers afin de vous aider à trouver un support technique. Ces informations peuvent être modifiées sans préavis. Microsoft ne garantit pas l'exactitude des informations concernant les sociétés tierces.

Pour plus d'informations sur le développement de programmes pour les versions Itanium de Windows Server 2003 et de Windows XP, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/library/ms952405.aspx


Pour plus d'informations sur d'autres aspects liés au développement de programmes pour les versions 64 bits de Windows Server 2003 et Windows XP, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/
Remarque Il s'agit d'un article de « PUBLICATION RAPIDE » rédigé directement au sein du service de support technique Microsoft. Les informations qui y sont contenues sont fournies en l'état, en réponse à des problèmes émergents. En raison du délai rapide de mise à disposition, les informations peuvent contenir des erreurs typographiques et, à tout moment et sans préavis, faire l'objet de révisions. Pour d'autres considérations, consultez les Conditions d'utilisation.

Propriétés

Numéro d'article: 896456 - Dernière mise à jour: vendredi 29 juin 2012 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows XP Professional x64 Edition
Mots-clés : 
kbinfo kbtshoot kbusage kbperformance kbhardware kbinterop KB896456
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com