Condividi tramite


Panoramica delle considerazioni sulla compatibilità per i programmi a 32 bit nelle versioni a 64 bit di Windows

Questo articolo illustra le considerazioni sulla compatibilità e le limitazioni per i programmi a 32 bit in esecuzione in versioni a 64 bit di Windows.

Numero KB originale: 896456

Riepilogo

Le versioni a 64 bit di Windows usano il sottosistema Microsoft Windows-32-on-Windows-64 (WOW64) per eseguire programmi a 32 bit senza modifiche. Le versioni a 64 bit di Windows non forniscono supporto per i file binari a 16 bit o i driver a 32 bit. I programmi che dipendono da file binari a 16 bit o driver a 32 bit non possono essere eseguiti nelle versioni a 64 bit di Windows a meno che il produttore del programma non fornisca un aggiornamento per il programma.

Potrebbero esserci considerazioni che influiscono sulla compatibilità o sulle prestazioni di un programma. È possibile determinare se un programma avrà problemi di compatibilità o prestazioni testando il programma in una delle versioni a 64 bit di Windows.

Questo articolo descrive alcune considerazioni sulla compatibilità per l'esecuzione di programmi a 32 bit nelle versioni a 64 bit di Windows. Questo articolo non confronta le versioni a 32 bit e a 64 bit di Windows o sistemi operativi a 64 bit diversi. Questo articolo presuppone che si comprenda la differenza tra i file binari a 32 bit e i file binari a 64 bit.

Introduzione

Le versioni basate su x64 di Microsoft Windows sono ottimizzate per eseguire programmi nativi a 64 bit. Inoltre, le versioni basate su x64 di Windows usano il sottosistema WOW64 per eseguire programmi a 32 bit.

Esecuzione di programmi a 32 bit

Il sottosistema WOW64 consente l'esecuzione di programmi a 32 bit senza modifiche nelle versioni basate su x64 di Windows. Il sottosistema WOW64 esegue questa operazione creando un ambiente a 32 bit nelle versioni basate su x64 di Windows. Per altre informazioni sul sottosistema WOW64, vedere l'argomento "Esecuzione di applicazioni a 32 bit" nella sezione Windows a 64 bit della documentazione di Microsoft Platform SDK. Per visualizzare questo documento, visitare il sito Web Microsoft seguente: Esecuzione di applicazioni a 32 bit.

Considerazioni sulle prestazioni del programma

Il sottosistema WOW64 crea un ambiente a 32 bit nelle versioni basate su x64 di Windows. Alcuni programmi a 32 bit possono essere eseguiti più lentamente in questi sistemi operativi rispetto alle versioni a 32 bit di Windows. In alternativa, alcuni programmi a 32 bit che richiedono un sacco di ricordi possono presentare prestazioni maggiori nelle versioni basate su x64 di Windows. Questo aumento delle prestazioni si verifica perché le versioni basate su x64 di Windows supportano più memoria fisica rispetto alle versioni a 32 bit di Windows.

Per altre informazioni sulle differenze nella gestione della memoria tra le versioni a 64 bit e a 32 bit di Windows, vedere l'argomento "Spazio indirizzi virtuale" nella sezione About Memory Management (Informazioni sulla gestione della memoria) della documentazione di Microsoft Platform SDK. Per visualizzare questo documento, visitare il seguente sito Web Microsoft: Spazio indirizzi virtuale

Restrizioni del sottosistema WOW64

Il sottosistema WOW64 non supporta i programmi seguenti:

  • Programmi compilati per sistemi operativi a 16 bit
  • Programmi in modalità kernel compilati per sistemi operativi a 32 bit

Programmi a 16 bit

Le versioni basate su x64 di Windows non supportano programmi a 16 bit o componenti di programma a 16 bit. L'emulazione software necessaria per eseguire programmi a 16 bit nella versione basata su x64 di Windows ridurrebbe significativamente le prestazioni di tali programmi.

Un programma di installazione a 16 bit viene spesso usato per installare e configurare un programma a 32 bit. Inoltre, alcuni programmi a 32 bit richiedono l'esecuzione corretta dei componenti a 16 bit. Anche se i programmi a 32 bit che richiedono componenti a 16 bit potrebbero essere eseguiti correttamente dopo l'installazione, non è possibile usare il programma di installazione a 16 bit per installare un programma a 32 bit. I programmi che richiedono componenti a 16 bit non possono essere eseguiti in versioni basate su x64 di Windows.

Se un programma a 32 bit che richiede componenti a 16 bit tenta di eseguire un file o un componente a 16 bit, il programma a 32 bit registra un messaggio di errore nel log di sistema. Il sistema operativo consentirà quindi al programma a 32 bit di gestire l'errore.

Per determinare se un programma richiede un componente a 16 bit, installare ed eseguire il programma. Se il programma genera un messaggio di errore, contattare il produttore del programma per un aggiornamento compatibile con le versioni basate su x64 di Windows.

Driver a 32 bit

Le versioni basate su x64 di Windows non supportano i driver a 32 bit. Tutti i driver di dispositivo hardware e i driver di programma devono essere compilati specificamente per la versione basata su x64 di Windows.

Se un programma a 32 bit tenta di installare un driver a 32 bit in un computer che esegue una versione x64 di Windows, l'installazione del driver non riesce. Quando si verifica questo comportamento, la versione basata su x64 di Windows segnala un errore al programma a 32 bit.

Se un programma a 32 bit tenta di registrare un driver a 32 bit per l'avvio automatico in un computer che esegue una versione basata su x64 di Windows, il caricatore bootstrap nel computer riconosce che il driver a 32 bit non è supportato. La versione basata su x64 di Windows non avvia il driver a 32 bit, ma avvia gli altri driver registrati.

Per determinare se un programma richiede un driver a 32 bit, installare ed eseguire il programma. Se il programma genera un messaggio di errore, contattare il produttore del programma per un aggiornamento compatibile con le versioni basate su x64 di Windows.

Considerazioni aggiuntive

Reindirizzamento di file e registro

Il sottosistema WOW64 isola i file binari a 32 bit dai file binari a 64 bit reindirizzando le chiamate del Registro di sistema e alcune chiamate al file system. Il sottosistema WOW64 isola i file binari per impedire a un file binario a 32 bit di accedere accidentalmente ai dati da un file binario a 64 bit. Ad esempio, un file binario a 32 bit che esegue un file .dll dalla cartella %systemroot%\System32 potrebbe tentare accidentalmente di accedere a un file .dll a 64 bit non compatibile con il file binario a 32 bit. Per evitare questo problema, il sottosistema WOW64 reindirizza l'accesso dalla cartella %systemroot%\System32 alla cartella %systemroot%\SysWOW64. Questo reindirizzamento impedisce errori di compatibilità perché richiede che il file .dll sia progettato specificamente per funzionare con programmi a 32 bit.

Per altre informazioni sul file system e sul reindirizzamento del Registro di sistema, vedere l'argomento "Esecuzione di applicazioni a 32 bit" nella sezione Windows a 64 bit della documentazione di Microsoft Platform SDK. Per visualizzare questo documento, visitare il sito Web Microsoft seguente: Esecuzione di applicazioni a 32 bit
Il sottosistema WOW64 reindirizza le chiamate binarie a 32 bit senza richiedere modifiche ai file binari a 32 bit. Tuttavia, è possibile che vengano visualizzate prove di questo reindirizzamento quando si eseguono alcune attività. Ad esempio, se si digita uno script della riga di comando al prompt dei comandi a 64 bit, il prompt dei comandi potrebbe non essere in grado di accedere ai programmi a 32 bit nella cartella Programmi. Il sottosistema WOW64 reindirizza e installa programmi a 32 bit nella cartella Programmi (x86). Per accedere alla cartella corretta, è necessario modificare lo script della riga di comando. In alternativa, è necessario digitare lo script della riga di comando in un prompt dei comandi a 32 bit. Il prompt dei comandi a 32 bit reindirizza automaticamente le chiamate del file system alla directory a 32 bit corretta.

Per avviare un prompt dei comandi a 32 bit, seguire questa procedura:

  • Fare clic su Start, scegliere Esegui, digitare %windir%\SysWoW64\cmd.exe, quindi fare clic su OK.

Controllo della versione

Alcuni programmi a 32 bit esaminano le informazioni sulla versione del sistema operativo. Molti programmi a 32 bit che eseguono questo controllo non riconoscono le versioni basate su x64 di Windows come sistemi operativi compatibili. Quando si verifica questo comportamento, il programma a 32 bit genererà un errore di controllo della versione e quindi si chiuderà. Se questo comportamento si verifica, contattare il produttore del programma a 32 bit per un aggiornamento compatibile con le versioni basate su x64 di Windows.

The Microsoft .NET Framework

Un programma compilato con Microsoft .NET Framework verrà eseguito come programma a 32 bit nel sottosistema WOW64 se sono soddisfatte le condizioni seguenti:

  • Il programma ha il bit ILONLY impostato nelle informazioni sull'intestazione.
  • Il programma è stato compilato con Microsoft .NET Framework 1.1. Se il programma non ha il bit ILONLY impostato nelle informazioni sull'intestazione o se il programma è stato compilato con Microsoft .NET Framework versione 2.0, il programma verrà eseguito come programma nativo a 64 bit.

OpenGL

Le versioni basate su x64 di Windows non includono un driver grafico OpenGL. Contattare il produttore del dispositivo per un driver compatibile con le versioni basate su x64 di Windows.

Microsoft Management Console (MMC)

Le versioni basate su x64 di Windows usano la versione a 64 bit di Microsoft Management Console (MMC) per eseguire vari snap-in. Tuttavia, è possibile richiedere occasionalmente la versione a 32 bit di MMC per eseguire snap-in nel sottosistema WOW64. Per altre informazioni sul comportamento di MMC nelle versioni basate su x64 di Windows, vedere l'argomento "Esecuzione di snap-in a 32 bit e a 64 bit in Windows a 64 bit" nella sezione Using MMC 2.0 (Uso di MMC 2.0) della documentazione di Microsoft Platform SDK. Per visualizzare questo documento, visitare il seguente sito Web Microsoft: Esecuzione di snap-in a 32 bit e a 64 bit in Windows a 64 bit

Considerazioni su x64

Le versioni basate su x64 di Windows supportano istruzioni a 32 bit e istruzioni a 64 bit. Il sottosistema WOW64 può eseguire programmi a 32 bit in modalità nativa a 64 bit passando alla modalità nativa del processore. Non sono necessari livelli hardware o software separati. Quando si esegue un programma a 32 bit nelle versioni basate su x64 di Windows, potrebbe non verificarsi una riduzione delle prestazioni.

Per altre informazioni sulle prestazioni di un processore basato su x64, contattare il produttore del processore o visitare il sito Web del produttore. Le informazioni e la soluzione in questo documento rappresentano la visualizzazione corrente di Microsoft Corporation su questi problemi a partire dalla data di pubblicazione. Questa soluzione è disponibile tramite Microsoft o tramite un provider di terze parti. Microsoft non consiglia specificamente alcun provider di terze parti o una soluzione di terze parti che questo articolo potrebbe descrivere. Potrebbero essere presenti anche altri provider di terze parti o soluzioni di terze parti che questo articolo non descrive. Poiché Microsoft deve rispondere a condizioni di mercato mutevoli, queste informazioni non devono essere interpretate come un impegno da parte di Microsoft. Microsoft non può garantire o approvare l'accuratezza di qualsiasi informazione o di qualsiasi soluzione presentata da Microsoft o da qualsiasi provider di terze parti menzionato.

Microsoft non fornisce alcuna garanzia ed esclude tutte le rappresentazioni, le garanzie e le condizioni, sia espressa, implicita o legale. Questi includono, ma non sono limitati a rappresentazioni, garanzie o condizioni di titolo, non violazione, condizione soddisfacente, commerciabilità e idoneità per uno scopo specifico, per quanto riguarda qualsiasi servizio, soluzione, prodotto o qualsiasi altro materiale o informazione. In nessun caso Microsoft sarà responsabile di qualsiasi soluzione di terze parti menzionata in questo articolo.

Riferimenti

Per altre informazioni sul processore AMD64, visitare il seguente sito Web Advanced Micro Devices: Sito Web AMD
Microsoft fornisce informazioni di contatto di terze parti per facilitare l'individuazione del supporto tecnico. È possibile che tali informazioni di contatto vengano modificate senza preavviso. Microsoft non garantisce l'accuratezza di queste informazioni di contatto di terze parti.

Per ulteriori informazioni sullo sviluppo di programmi per le versioni basate su Itanium di Windows Server 2003 e Windows XP, visitare il seguente sito Web Microsoft: Introduzione allo sviluppo di applicazioni per la versione basata su Itanium a 64 bit di Windows

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non garantisce alcuna garanzia, implicita o diversa, relativa alle prestazioni o all'affidabilità di questi prodotti.