Partager via


Suppression de la réflexion du registre Windows

Plateforme

Clients : Windows 7
Serveurs : Windows Server 2008 R2

Impact de la fonctionnalité

Gravité : faible
Fréquence : faible

Description

Le processus de réflexion du registre copie les clés et les valeurs du registre entre deux vues du registre pour les garder synchronisées. Dans les précédentes installations 64 bits de Windows, le processus reflétait un sous-ensemble des clés de registre redirigées entre les vues 32 bits et 64 bits. Cependant, la mise en œuvre de ceci a causé certaines incohérences dans l’état du registre. Pour plus de détails sur la réflexion du registre, veuillez consulter la section Réflexion du registre.

À partir de Windows 7, nous avons complètement supprimé la réflexion du registre et fusionné les clés qui étaient reflétées :

  • 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

Effectivement, cela fournit le même comportement de réflexion, puisque les changements apportés à ces clés sont immédiatement disponibles pour les applications 32 bits et 64 bits.

Les clés qui étaient reflétées de manière conditionnelle restent séparées :

  • 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

Elles sont utilisées pour conserver les données qui ne doivent pas être partagées entre les applications 32 bits et 64 bits.

Manifestation

Les clés CLSID et Interface de la liste ci-dessus ne sont plus reflétées bien qu’elles soient toujours redirigées. Bien que ce soit le comportement souhaité dans la plupart des cas, il est possible que des applications puissent dépendre de leur comportement reflété sous Vista.

Les fonctions permettant aux applications de contrôler la réflexion (RegDisableReflectionKey et RegEnableReflectionKey) sont inopérantes sous Windows 7.

Atténuation de l’impact

COM est le principal consommateur de la réflexion du registre. COM et d’autres consommateurs ont été mis à jour pour tenir compte de ce changement. Ce changement n’affecte pas les applications qui utilisent les API COM standard.

Solution

Appliquez l’une des options suivantes si vous dépendez de la réflexion du registre pour synchroniser les vues 32 bits et 64 bits :

  • Créez explicitement les clés dans les deux vues lors de l’installation.

  • Déplacez les clés hors du champ des clés reflétées.

  • Vérifiez les deux vues du registre lors de la requête pour une clé reflétée.

    Remarque : les indicateurs KEY_WOW64_32KEY et KEY_WOW64_64KEY ne peuvent pas être combinés.

Appliquez l’une des options suivantes si vous dépendez des fonctions RegDisableReflectionKey pour désactiver la réflexion du registre :

  • Créez explicitement les clés dans les deux vues lors de l’installation.
  • Déplacez les clés hors du champ des clés reflétées.
  • Utilisez des sous-clés spécifiques à la plateforme (comme x86, amd64 et ia64) pour séparer les données spécifiques à une architecture.

Remarque

Ces ressources peuvent ne pas être disponibles dans certaines langues et certains pays/régions.