- Article
Cet article explique les considérations et limitations de compatibilité pour les programmes 32 bits exécutés sur les versions 64 bits de Windows.
S'applique à:Windows 10 (toutes les éditions), Windows Server 2012 R2
Numéro KB d'origine :896456
Résumé
Les versions 64 bits de Windows 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 ne prennent pas en charge les fichiers binaires 16 bits ou les pilotes 32 bits. Les programmes qui dépendent de fichiers binaires 16 bits ou de pilotes 32 bits ne s'exécuteront pas sur les versions 64 bits de Windows à moins que le fabricant du programme ne fournisse une mise à jour pour le programme.
Certaines considérations peuvent affecter la compatibilité ou les performances d'un programme. Vous pouvez déterminer si un programme rencontre des problèmes de compatibilité ou de performances en testant le programme sur l'une des versions 64 bits de Windows.
Cet article décrit certains problèmes de compatibilité liés à l'exécution de programmes 32 bits sur des versions 64 bits de Windows. Cet article ne compare pas les versions 32 bits et 64 bits de Windows ou les différents systèmes d'exploitation 64 bits. Cet article suppose que vous comprenez la différence entre les binaires 32 bits et les binaires 64 bits.
introduction
Les versions x64 de Microsoft Windows sont optimisées pour exécuter des programmes 64 bits natifs. De plus, les versions x64 de Windows utilisent le sous-système WOW64 pour exécuter des programmes 32 bits.
Exécution de programmes 32 bits
Le sous-système WOW64 permet aux programmes 32 bits de s'exécuter sans modification dans les versions x64 de Windows. Pour ce faire, le sous-système WOW64 crée un environnement 32 bits sur les versions x64 de Windows. Pour plus d'informations sur le sous-système WOW64, consultez la rubrique « Exécution d'applications 32 bits » dans la section « Windows 64 bits » de la documentation Microsoft Platform SDK. Pour afficher ce document, visitez le site Web Microsoft suivant :Exécution d'applications 32 bits.
Considérations relatives aux performances du programme
Le sous-système WOW64 crée un environnement 32 bits sur les versions x64 de Windows. Certains programmes 32 bits peuvent s'exécuter plus lentement sur ces systèmes d'exploitation que sur les versions 32 bits de Windows. Alternativement, certains programmes 32 bits qui nécessitent de grandes quantités de mémoire peuvent mieux fonctionner sur les versions x64 de Windows. Cette augmentation des performances se produit car les versions x64 de Windows prennent en charge davantage de mémoire physique que les versions 32 bits de Windows.
Pour plus d'informations sur les différences de gestion de la mémoire entre Windows 64 bits et 32 bits, consultez la rubrique Espace d'adressage virtuel dans la section Gestion de la mémoire de la documentation Microsoft Platform SDK. Pour afficher ce document, visitez le site Web Microsoft suivant :Espace d'adressage virtuel
Limitations du sous-système WOW64
Le sous-système WOW64 ne prend pas en charge les programmes suivants :
- Programmes compilés pour les systèmes d'exploitation 16 bits
- Programmes en mode noyau compilés pour les systèmes d'exploitation 32 bits
Programme 16 bits
Les versions x64 de Windows ne prennent pas en charge les programmes 16 bits ou les composants de programme 16 bits. L'émulation logicielle requise pour exécuter des programmes 16 bits sur une version x64 de Windows réduirait considérablement les performances de ces programmes.
Un programme d'installation 16 bits est souvent utilisé pour installer et configurer un programme 32 bits. De plus, certains programmes 32 bits nécessitent des composants 16 bits pour fonctionner correctement. Bien que les programmes 32 bits nécessitant des composants 16 bits puissent s'exécuter correctement après l'installation, vous ne pouvez pas utiliser le programme d'installation 16 bits pour installer un programme 32 bits. Les programmes qui nécessitent des composants 16 bits ne fonctionneront pas sur les versions x64 de Windows.
Si un programme 32 bits nécessitant des composants 16 bits essaie 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 nécessite un composant 16 bits, installez et exécutez le programme. Si le programme génère un message d'erreur, contactez le fabricant du programme pour obtenir une mise à jour compatible avec les versions x64 de Windows.
pilote 32 bits
Les versions x64 de Windows ne prennent pas en charge les pilotes 32 bits. Tous les pilotes de périphérique matériel et les pilotes de programme doivent être compilés spécifiquement pour la version x64 de Windows.
Lorsqu'un programme 32 bits tente d'installer un pilote 32 bits sur un ordinateur exécutant une version x64 de Windows, l'installation du pilote échoue. Lorsque ce problème se produit, la version x64 de Windows signale une erreur au programme 32 bits.
Lorsqu'un programme 32 bits tente d'enregistrer un pilote de démarrage automatique 32 bits sur un ordinateur exécutant une version x64 de Windows, le chargeur d'amorçage de l'ordinateur détecte que le pilote Bit 32 bits n'est pas pris en charge. La version x64 de Windows ne démarrera pas le pilote 32 bits, mais les autres pilotes enregistrés démarreront.
Pour déterminer si un programme nécessite un pilote 32 bits, installez et exécutez le programme. Si le programme génère un message d'erreur, contactez le fabricant du programme pour obtenir une mise à jour compatible avec les versions x64 de Windows.
Considérations supplémentaires
Registre et redirection de fichiers
Le sous-système WOW64 isole les binaires 32 bits des binaires 64 bits en redirigeant les appels de registre et certains appels de système de fichiers. Le sous-système WOW64 isole les binaires pour empêcher un binaire 32 bits d'accéder accidentellement aux données d'un binaire 64 bits. Par exemple, un binaire 32 bits exécutant un fichier .dll à partir du dossier %systemroot%\System32 peut tenter par inadvertance d'accéder à un fichier DLL 64 bits incompatible avec le binaire 32 bits. Pour éviter 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 le fichier DLL doit être spécialement conçu pour fonctionner avec des programmes 32 bits.
Pour plus d'informations sur le système de fichiers et la redirection du Registre, consultez la rubrique « Exécution d'applications 32 bits » dans la section « Windows 64 bits » de la documentation Microsoft Platform SDK. Pour afficher ce document, visitez le site Web Microsoft suivant :Exécution d'applications 32 bits
Le sous-système WOW64 redirige les appels de binaires 32 bits sans nécessiter de modifications des binaires 32 bits. Cependant, vous pouvez voir des indications de cette redirection lors de l'exécution de certaines tâches. Par exemple, si vous entrez un script de ligne de commande à une invite de commande 64 bits, l'invite de commande peut ne pas être en mesure d'accéder aux programmes 32 bits dans le 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 bon dossier, vous devez modifier le script de ligne de commande. Sinon, vous devez entrer le script de ligne de commande à une invite de commande 32 bits. L'invite de commande 32 bits redirige automatiquement les appels du système de fichiers vers le répertoire 32 bits correct.
Pour démarrer une invite de commande 32 bits, procédez comme suit :
- Clique dessusle menu DémarrersurEffectuer, donner%windir%\SysWoW64\cmd.exepuis cliquezD'ACCORD.
vérification des versions
Certains programmes 32 bits examinent les informations de version du système d'exploitation. De nombreux programmes 32 bits qui effectuent cette vérification ne reconnaissent pas les versions x64 de Windows comme des systèmes d'exploitation compatibles. Lorsque ce problème se produit, le programme 32 bits génère une erreur de vérification de version, puis se ferme. Si vous rencontrez ce problème, contactez le fabricant du programme 32 bits pour obtenir une mise à jour compatible avec les versions x64 de Windows.
Dans Microsoft .NET Framework
Un programme compilé avec 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 programme a le bit ILONLY défini dans les informations d'en-tête.
- 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é à l'aide de Microsoft .NET Framework version 2.0, le programme s'exécute en tant que programme 64 bits natif.
OpenGL
Les versions x64 de Windows n'incluent pas de pilote graphique OpenGL. Contactez le fabricant du périphérique pour obtenir un pilote compatible avec les versions x64 de Windows.
Console de gestion Microsoft (MMC)
Les versions x64 de Windows utilisent la version 64 bits de Microsoft Management Console (MMC) pour exécuter divers composants logiciels enfichables. Cependant, vous pouvez parfois avoir besoin de la version 32 bits de MMC pour exécuter des composants logiciels enfichables dans le sous-système WOW64. Pour plus d'informations sur le comportement de MMC dans les versions x64 de Windows, consultez la rubrique « Exécution de composants logiciels enfichables 32 bits et 64 bits dans Windows 64 bits » dans la section « Utilisation de MMC 2.0 » dans la plate-forme Microsoft Documentation SDK. Pour afficher ce document, visitez le site Web Microsoft suivant :Exécution de composants logiciels enfichables 32 bits et 64 bits dans Windows 64 bits
considérations x64
Les versions x64 de Windows prennent en charge les instructions 32 bits et les instructions 64 bits. Le sous-système WOW64 peut exécuter des programmes 32 bits en mode natif 64 bits en commutant le mode natif du processeur. Des couches matérielles ou logicielles distinctes ne sont pas nécessaires. Si vous exécutez un programme 32 bits sur les versions x64 de Windows, les performances peuvent ne pas être affectées.
Pour plus d'informations sur les performances d'un processeur x64, contactez le fabricant du processeur ou visitez le site Web du fabricant. Les informations et les solutions suggérées contenues dans ce document représentent l'état des connaissances de Microsoft Corporation concernant les problèmes décrits au moment de la publication. La solution décrite est proposée aussi bien par Microsoft que par des tiers. Microsoft n'approuve pas expressément les fournisseurs tiers mentionnés dans cet article ou leurs solutions. Il peut y avoir d'autres tiers qui proposent également des solutions au problème décrit, mais qui ne sont pas mentionnés dans cet article. Étant donné que Microsoft est tenu de répondre aux conditions changeantes du marché, Microsoft n'est pas lié par ces informations. Microsoft ne peut garantir l'exactitude ou l'adéquation des informations ou des solutions proposées par Microsoft ou par des tiers identifiés dans cet article.
Microsoft n'offre aucune garantie ou représentation d'aucune sorte, expresse, implicite ou statutaire. Cela inclut, sans s'y limiter, toute représentation, garantie ou condition de non-contrefaçon, de condition satisfaisante, de qualité marchande et d'adéquation à un usage particulier de tout service, solution, produit ou autre matériel et information. En aucun cas, Microsoft ne sera responsable des solutions tierces mentionnées dans cet article.
Les références
Pour plus d'informations sur le processeur AMD64, visitez le site Web Advanced Micro Devices suivant :Site Web d'AMD
Les informations de contact de tiers sont fournies pour vous aider à trouver le support technique dont vous avez besoin. Ces informations de contact peuvent changer sans préavis. Ils sont distribués par Microsoft sans aucune garantie.
Pour plus d'informations sur le développement de programmes pour les versions Itanium de Windows Server 2003 et Windows XP, accédez au site Web Microsoft suivant :Introduction au développement d'applications pour la version Itanium 64 bits de Windows
Les produits tiers mentionnés dans cet article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft n'offre aucune garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.
FAQs
What happens if you install 32-bit OS on 64-bit processor? ›
Installing a 32-bit OS on a 64-bit-architecture system can work, but it's not optimal. A 32-bit OS, for example, has more limitations—the standout being it can only really utilize 4GB of RAM. Installing more RAM on a system with a 32-bit OS doesn't have much impact on performance.
Can 32-bit Windows run on 64-bit processor? ›It means that it can address a total of 264 memory addresses, which is 18-Quintillion GB of RAM. A 32-bit processor system could properly run a 32-bit OS, but it cannot run the 64-bit OS at its full capability. A 64-bit processor system can run either a 32-bit or 64-bit version of an installed operating system (OS).
How to run 32-bit programs on 64-bit Windows 11 10? ›- #1 Directly Install 32-Bit App on 64-Bit System with WOW64. ...
- #2 Run 32-Bit Programs on 64-Bit PC by Virtual Box. ...
- #3 Let 32-Bit Software Work on 64-Bit Computer in XP Mode. ...
- #4 Dual-Run 32-Bit Apps on 64-Bit Windows.
- #1. Download and Install 32-Bit Version of Program on 32-Bit OS - Normal Way.
- #2. Upgrade Windows 10/8/7 from 32-Bit to 64-Bit - Hottest Choice.
- #3. Use VMware to Run 64-Bit Programs, Application, and Software - Alternative.
This specification is directly related to the hardware (physical machine) and if a CPU is 32bit, there is no way to convert it to 64bit. If you have a 32bit processor, you will need to buy a 64bit processor to replace it.
What happens if you run 32-bit game on 64-bit? ›To put it in simple words, if you run a 32-bit program on a 64-bit machine, it will work fine, and you won't encounter any problems. Backward compatibility is an important part when it comes to computer technology. Therefore, 64 bit systems can support and run 32-bit applications.
What is the difference between 32-bit and 64-bit processor? ›Difference between 32-bit and 64-bit OS. A 64-bit processor is more capable than a 32-bit processor because it can handle more data at once. A 64-bit processor can store more computational values, including memory addresses, which means it can access over 4 billion times the physical memory of a 32-bit processor.
What is the difference between 32-bit and 64-bit Windows? ›The main Difference Between 32-bit and 64-bit Operating Systems is that a 32-bit system can access up to 4 GB of RAM or physical memory; it should be able to access more. In contrast, a 64-bit system has the ability to access 18 quintillion bytes of RAM.
Does Windows 11 no longer support 32-bit? ›Does Windows 11 Support 32-Bit Applications? No. Microsoft's Windows 11 operating system is 64-bit supported only. This means that only PCs with a 64-bit processor can run Windows 11.
Can I install 32-bit software on 64-bit Windows 10? ›64 bit machine will not load and install a 32 bit program without a 32 bit emulator. 64 bit Windows 7 had an available windows XP mode one could install to load and run older applications.
Does Windows 10 64-bit support 32-bit programs? ›
The 64-bit versions of Windows use the Microsoft Windows-32-on-Windows-64 (WOW64) subsystem to run 32-bit programs without modifications. The 64-bit versions of Windows don't provide support for 16-bit binaries or 32-bit drivers.
How to change 64bit to 32bit Windows 10 without reinstalling? ›There is no way to change the "bitness" of any version of Windows from 32-bit to 64-bit, or vice versa. The only way to get there is by doing a clean installation. But let me ask why you want to do this.
How to change Windows 7 64-bit to 32-bit without reinstall? ›You can't do that. But there is no reason to do that, in because you can run 32 bit applications in the 64 bit version. And if you had trouble running them, then you can change the mode of the application to XP, Windows 95, etc by right clicking on the icon and selecting Properties > Compatibility.
Can I upgrade Windows 7 32-bit to 64-bit without formatting? ›If you are running the 32-bit version of Windows 10/8/7, you can upgrade to the 64-bit version and no new license is required. But you should ensure the processor is compatible and memory is enough. To do this upgrade, a clean install should be performed and there is no direct upgrade path.
Can a 32-bit OS be upgraded to a 64-bit OS? ›Upgrading from the 32-bit version to the 64-bit version of Windows requires that you reformat your hard disk, install the 64-bit version of Windows, and then reinstall everything else that you had on your device.
Does 32-bit software work in 64-bit OS? ›The 64-bit versions of Windows don't provide support for 16-bit binaries or 32-bit drivers. Programs that depend on 16-bit binaries or 32-bit drivers can't run on the 64-bit versions of Windows unless the program manufacturer provides an update for the program.
Do 32-bit programs run faster on 64-bit? ›So the 32-bit programs only run faster on 64-bit if you actually recompile them for 64-bit so they benefit from the extra HW registers and SIMD instructions guaranteed by the architecture (assuming x86).