Modifiche del Registro di sistema nelle versioni basate su x64 di Windows

Questo articolo descrive alcune delle modifiche apportate al Registro di sistema nelle versioni basate su x64 di Microsoft Windows Server 2003 e Microsoft Windows XP Professional x64 Edition. Descrive come il sistema operativo Windows x64 Edition archivia le informazioni del Registro di sistema per programmi a 32 bit e programmi a 64 bit.

Si applica a: Windows 10: tutte le edizioni, Windows Server 2012 R2
Numero KB originale: 896459

Riepilogo

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema. Per altre informazioni su come eseguire il backup e il ripristino del Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente: 322756 Come eseguire il backup e ripristinare il Registro di sistema in Windows

I computer che eseguono una versione basata su x64 di Microsoft Windows Server 2003 o Microsoft Windows XP Professional x64 Edition usano un layout del Registro di sistema diverso per gestire programmi a 32 bit e a 64 bit. Le modifiche apportate al layout del Registro di sistema nelle versioni x64 Edition del sistema operativo Windows assicurano che i programmi hardcoded .dll percorsi, impostazioni del programma e altri valori di parametro non vengano sovrascritti.

Per impedire che le impostazioni del Registro di sistema a 32 bit sovrascrivano le impostazioni del Registro di sistema a 64 bit, i computer che eseguono una versione basata su x64 di Microsoft Store le impostazioni per i programmi a 32 bit in un nuovo ramo del Registro di sistema. Gli utenti non notano alcuna modifica durante l'installazione del programma. Il processo di reindirizzamento del Registro di sistema consente alle installazioni del programma e alle impostazioni di configurazione del programma di accedere alla sottochiave corretta del Registro di sistema senza l'intervento dell'utente.

I programmi a 32 bit e i programmi a 64 bit in esecuzione in una versione di Windows basata su x64 funzionano in modalità diverse e usano le sezioni seguenti nel Registro di sistema:

  • I programmi in modalità nativa a 64 bit vengono eseguiti in modalità nativa e le chiavi di accesso e i valori archiviati nella sottochiave del Registro di sistema seguente:

    HKEY_LOCAL_MACHINE\Software

  • I programmi a 32 bit vengono eseguiti in modalità WOW64 e le chiavi di accesso e i valori archiviati nella sottochiave del Registro di sistema seguente:

    HKEY_LOCAL_MACHINE\Software\WOW6432node

Reindirizzamento del Registro di sistema

Per supportare la coesistenza di stati di registrazione COM a 32 e 64 bit e di programmi, il sottosistema WOW64 presenta programmi a 32 bit usando un'altra visualizzazione del Registro di sistema. Il sottosistema WOW64 usa il reindirizzamento del Registro di sistema per intercettare le chiamate al Registro di sistema a livello di bit. Il reindirizzamento del Registro di sistema assicura anche che le chiamate al Registro di sistema vengano indirizzate ai rami corretti nel Registro di sistema.

Quando si installa un nuovo programma o quando si esegue un programma in un computer Windows x64 Edition, le chiamate al Registro di sistema effettuate da programmi a 64 bit accedono alla sottochiave del HKEY_LOCAL_MACHINE\Software Registro di sistema senza reindirizzamento. WOW64 intercetta le chiamate al Registro di sistema effettuate da programmi a HKEY_LOCAL_MACHINE\Software 32 bit e quindi le reindirizza alla HKEY_LOCAL_MACHINE\Software\WOW6432node sottochiave. Reindirizzando solo le chiamate al programma a 32 bit, WOW64 garantisce che i programmi scrivano sempre nella sottochiave del Registro di sistema appropriata. Il reindirizzamento del Registro di sistema non richiede la modifica del codice del programma e questo processo è trasparente per l'utente.

Sottochiavi del Registro di sistema incluse nel reindirizzamento

Le sottochiavi del Registro di sistema seguenti vengono reindirizzate nelle versioni correnti del sistema operativo Windows x64 Edition:

  • HKEY_LOCAL_MACHINE\Software\Classes
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
  • HKEY_LOCAL_MACHINE\Software\Microsoft\COM3
  • HKEY_LOCAL_MACHINE\Software\Microsoft\EventSystem

Importante

Il reindirizzamento delle chiavi del Registro di sistema può cambiare nelle versioni successive del sistema operativo. Gli sviluppatori di software sono invitati a evitare di scrivere codice del programma basato su elenchi documentati in precedenza di chiavi reindirizzate. È invece necessario scrivere codice per verificare lo stato di reindirizzamento prima di effettuare chiamate alla visualizzazione logica a 32 bit o a 64 bit del Registro di sistema.

Reflection del Registro di sistema

La reflection del Registro di sistema fornisce un metodo in tempo reale per tenere sempre aperte le sezioni a 32 e 64 bit del Registro di sistema. Si consideri, ad esempio, un programma a 32 bit denominato Hello.exe che funge da server OLE a 32 bit, ma che può anche gestire le richieste provenienti da client a 64 bit. La reflection del Registro di sistema consente al programma Hello.exe di mantenere aperti sia il Registro di sistema a 32 bit che il Registro di sistema a 64 bit per gestire le chiamate al programma a 32 bit e a 64 bit.

La reflection consente l'esistenza di due copie fisiche dello stesso registro per supportare le operazioni native simultanee e WOW64. La maggior parte delle chiavi riflesse sono chiavi di classe. Le chiavi di classe vengono scritte con una filosofia "last writer wins" e l'handle per la chiave viene chiuso quando la chiave di classe a 32 bit o a 64 bit viene scritta e chiusa.

L'elenco seguente contiene alcuni esempi della filosofia "last writer wins":

  • Dopo aver eseguito un'installazione pulita del sistema operativo Windows x64 Edition, la versione a 64 bit di Wordpad.exe viene registrata per gestire .doc file. Il riflettore del Registro di sistema copia la registrazione .doc dalla sezione del Registro di sistema a 64 bit nella sezione del Registro di sistema a 32 bit.
  • Quando si installa una versione a 32 bit di Microsoft Office, Winword.exe viene registrato per gestire .doc file nella visualizzazione del Registro di sistema a 32 bit. Il riflettore del Registro di sistema copia queste informazioni nella sezione del Registro di sistema a 64 bit. Pertanto, sia i programmi a 32 bit che a 64 bit avviano la versione a 32 bit di Winword.exe per i file .doc.
  • Quando si installa la versione a 64 bit di Microsoft Office, la versione a 64 bit di Winword.exe viene registrata nella sezione del Registro di sistema a 64 bit per gestire .doc file. Il riflettore del Registro di sistema copia anche queste informazioni nella sezione del Registro di sistema a 32 bit in modo che i programmi a 32 bit e a 64 bit avviino la versione a 64 bit di Winword.exe per i file .doc.

Nota

Gli sviluppatori possono usare la funzione RegQueryReflectionKey per determinare lo stato di reflection per una determinata chiave e utilizzare la funzione RegDisableReflectionKey e la funzione RegEnableReflectionKey per disabilitare e abilitare a livello di codice la reflection del Registro di sistema per una determinata chiave.

Chiavi del Registro di sistema condivise

Alcune sottochiavi del Registro di sistema contengono informazioni costanti presenti in una sola copia del Registro di sistema, anche se queste chiavi vengono visualizzate nelle viste del Registro di sistema a 32 bit e a 64 bit. Questa operazione viene definita reflection del Registro di sistema.

Nelle versioni correnti dei sistemi operativi Windows x64 Edition, le sottochiavi del Registro di sistema seguenti vengono condivise tra il programma a 32 bit e a 64 bit e non vengono riscritte in base al livello a 32 bit o a 64 bit del programma o del processo:

  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SYSTEMCERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\SERVICES
  • HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\HCP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\ENTERPRISECERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSMQ
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\NETWORKCARDS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PROFILELIST
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PERFLIB
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PRINT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PORTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\CONTROL PANEL\CURSORS\SCHEMES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\TELEPHONY\LOCATIONS
  • HKEY_LOCAL_MACHINE\SOFTWARE\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\GROUP POLICY
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP\OC MANAGER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SOFTWARE\MICROSOFT\SHARED TOOLS\MSINFO
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\TIP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\SYSTEMSHARED
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTSUBSTITUTES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTDPI
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTMAPPER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\RAS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\NON-DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\CURRENT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\READERS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\TIME ZONE
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TRANSACTION SERVER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DFS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TERMSERVLICENSING

Importante

La reflection della chiave del Registro di sistema può cambiare nelle versioni successive del sistema operativo. Gli sviluppatori di software sono invitati a evitare di scrivere codice del programma basato su elenchi documentati in precedenza di chiavi riflesse. È invece necessario scrivere codice per verificare lo stato della reflection prima che il programma effettui chiamate alla visualizzazione logica a 32 bit o a 64 bit del Registro di sistema.

Modifiche Editor Registro di sistema

Sia le versioni a 32 bit che a 64 bit di Registry Editor sono incluse nei sistemi operativi x64 Edition. Per comprendere meglio le sezioni del programma a 64 bit e a 32 bit del Registro di sistema in un computer Windows x64 Edition, usare uno dei metodi seguenti.

Per avviare la versione a 64 bit di Registry Editor

  1. Accedere al computer Windows x64 Edition usando un account con autorizzazioni amministrative.
  2. Fare clic su Start, Esegui, digitare regedit nella casella Apri, quindi fare clic su OK.
  3. In Registro di sistema Editor individuare ed esaminare la sottochiave del Registro di sistema seguente:HKEY_LOCAL_MACHINE\Software\WOW6432node

Per avviare la versione a 32 bit di Registry Editor

Fare clic su Start, fare clic su Esegui, digitare la lettera di unità in cui è stato installato Windows x64 Edition\Windows\syswow64\regedit.exe m nella casella Apri e quindi fare clic su OK. L'opzione m consente di eseguire più istanze di Registry Editor.

Nota

Quando si accede a un computer basato su Microsoft Windows Server 2003 Service Pack 1 (SP1) o versioni successive o a un computer basato su Windows x64 Edition e si usa il protocollo RDP (Remote Desktop Protocol) per connettersi a un altro computer basato su Windows Server 2003 SP1 o versione successiva o a un computer basato su Windows x64 Edition, è possibile visualizzare la sezione a 64 bit del Registro di sistema nel computer remoto. Tuttavia, quando si accede al computer Microsoft Windows Server 2003 che non è stato aggiornato a SP1 o a qualsiasi altro sistema operativo Windows a 32 bit, è possibile visualizzare solo la sezione a 32 bit del Registro di sistema nel computer remoto.

Supporto tecnico per le versioni basate su x64 di Windows

Se l'hardware è stato fornito con un'edizione Windows x64 già installata, il produttore dell'hardware fornisce supporto tecnico e assistenza per l'edizione Windows x64. In questo caso il supporto e l'assistenza tecnica per tale software vengono forniti direttamente dalla casa produttrice dell'hardware. Il produttore dell'hardware potrebbe infatti avere personalizzato l'installazione della versione x64 di Windows con componenti univoci, quali specifici driver di periferica o impostazioni facoltative, per ottimizzare le prestazioni dell'hardware. Microsoft fornirà assistenza con un impegno ragionevole se devi avere assistenza tecnica con un'edizione Windows x64. ma potrebbe essere necessario contattare direttamente il produttore dell'hardware, in quanto soggetto più qualificato per fornire supporto per il software preinstallato nell'hardware. Se è stata acquistata un'edizione di Windows x64, ad esempio un'edizione di Windows Server 2003 x64 separatamente, contattare Microsoft per il supporto tecnico.