Eliminación de la reflexión del Registro de Windows
Plataforma
Clientes: Windows 7
Servidores: Windows Server 2008 R2
Impacto en las características
Gravedad: baja
Frecuencia: baja
Descripción
El proceso de reflexión del registro copia claves y valores del registro entre dos vistas del registro para mantenerlas sincronizadas. En instalaciones anteriores de Windows de 64 bits, el proceso reflejaba un subconjunto de las claves del registro redirigidas entre las vistas de 32 bits y 64 bits. Sin embargo, la implementación de eso provocó algunas incoherencias en el estado del registro. Para obtener más información sobre la reflexión del registro, consulte Reflexión del registro.
A partir de Windows 7, hemos eliminado completamente la reflexión del registro y hemos fusionado las claves que solían reflejarse:
- HKEY_LOCAL_MACHINE\ Software\ Classes
- HKEY_LOCAL_MACHINE\Software\Microsoft\COM3
- HKEY_LOCAL_MACHINE\Software\Microsoft\EventSystem
- HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
- HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
- HKEY_USERS\*\Software\Classes
- HKEY_USERS\*_Classes
De hecho, esto proporciona el mismo comportamiento de reflexión, ya que los cambios en estas claves están disponibles inmediatamente para las aplicaciones de 32 y 64 bits.
Las claves que se reflejaban condicionalmente permanecen divididas:
- HKEY_LOCAL_MACHINE\Software\Classes\CLSID
- HKEY_LOCAL_MACHINE\Software\Classes\Interface
- HKEY_USERS\*\Software\Classes\CLSID
- HKEY_USERS\*\Software\Classes\Interface
- HKEY_USERS\*_Classes\CLSID
- HKEY_USERS\*_Classes\Interface
Se usan para mantener los datos que no se deben compartir entre aplicaciones de 32 y 64 bits.
Manifiesto
Las claves CLSID e Interface de la lista anterior ya no se reflejan mientras sigan redirigidas. Aunque este es el comportamiento deseado en la mayoría de los casos, es posible que las aplicaciones puedan depender de su comportamiento reflejado en Vista.
Las funciones que permiten a las aplicaciones controlar la reflexión (RegDisableReflectionKey y RegEnableReflectionKey) no funcionan en Windows 7.
Mitigación del impacto
COM es el principal consumidor de reflexión del registro. COM y otros consumidores se han actualizado para dar cabida a este cambio. Este cambio no afecta a las aplicaciones que usan las API COM estándar.
Solución
Aplique una de las siguientes opciones si confía en la reflexión del registro para sincronizar las vistas de 32 bits y 64 bits:
Cree claves en ambas vistas explícitamente durante la instalación
Mueva las claves fuera del ámbito de las claves reflejadas
Compruebe ambas vistas del registro al consultar una clave reflejada
Nota: No se pueden combinar los indicadores KEY_WOW64_32KEY y KEY_WOW64_64KEY
Aplique una de las siguientes opciones si confía en las funciones RegDisableReflectionKey para deshabilitar la reflexión del registro:
- Cree claves en ambas vistas explícitamente durante la instalación
- Mueva las claves fuera del ámbito de las claves reflejadas
- Use subclaves específicas de la plataforma (como x86, amd64 e ia64) para separar los datos específicos de cada bit
Vínculos a otros recursos
- Artículo sobre reflexión del registro
- Lista de claves redirigidas en el artículo Redirector del registro
- Prácticas recomendadas para Wow64
Nota:
Es posible que estos recursos no estén disponibles en algunos idiomas/regiones.