Remoção da reflexão do registro do Windows
Plataforma
Clientes - Windows 7
Servidores - Windows Server 2008 R2
Impacto do recurso
Gravidade - Baixa
Frequência - Baixa
Descrição
O processo de reflexão do registro copia chaves e valores do registro entre duas visualizações do registro para mantê-los sincronizados. Em instalações anteriores de 64 bits do Windows, o processo refletia um subconjunto das chaves de registro redirecionadas entre as visualizações de 32 e 64 bits. No entanto, a implementação disso causou algumas inconsistências no estado do registro. Para obter mais detalhes sobre a reflexão do registro, consulte Reflexão do Registro.
A partir do Windows 7, removemos completamente a reflexão do registro e mesclamos as chaves que geralmente eram refletidas:
- 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
Efetivamente, isso fornece o mesmo comportamento de reflexão, já que as alterações nessas chaves ficam imediatamente disponíveis para aplicativos de 32 e 64 bits.
As chaves que foram refletidas condicionalmente permanecem 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
Elas são usadas para manter os dados que não devem ser compartilhados entre aplicativos de 32 e 64 bits.
Manifestação
As chaves CLSID e Interface da lista acima não são mais refletidas enquanto ainda são redirecionadas. Embora esse seja o comportamento desejado na maioria dos casos, é possível que os aplicativos possam ter uma dependência de seu comportamento refletido no Vista.
As funções que permitem que os aplicativos controlem a reflexão (RegDisableReflectionKey e RegEnableReflectionKey) não são operacionais no Windows 7.
Mitigação de impacto
COM é o principal consumidor de reflexão de registro. COM e outros consumidores foram atualizados para acomodar essa mudança. Essa alteração não afeta os aplicativos que usam APIs COM padrão.
Solução
Aplique uma das seguintes opções se estiver contando com a reflexão do registro para sincronizar visualizações de 32 bits e 64 bits:
Criar chaves nas duas visualizações explicitamente durante a instalação
Mover as chaves para fora do escopo das chaves refletidas
Verificar as duas visualizações do registro ao consultar uma chave refletida
Observação: os sinalizadores KEY_WOW64_32KEY e KEY_WOW64_64KEY não podem ser combinados
Aplique uma das seguintes opções se estiver contando com as funções RegDisableReflectionKey para desabilitar a reflexão do registro:
- Criar chaves nas duas visualizações explicitamente durante a instalação
- Mover as chaves para fora do escopo das chaves refletidas
- Use subchaves específicas da plataforma (como x86, amd64 e ia64) para separar dados específicos de bits
Links para outros recursos
- Artigo Reflexão do registro
- Lista de chaves redirecionadas no artigo Redirecionador do registro
- Melhores práticas para o Wow64
Observação
Esses recursos podem não estar disponíveis em alguns idiomas e países/regiões.