Windows 레지스트리 리플렉션 제거
플랫폼
클라이언트 - Windows 7
서버 - Windows Server 2008 R2
기능 영향
심각도 - 낮음
빈도 - 낮음
설명
레지스트리 리플렉션 프로세스는 레지스트리 키와 두 레지스트리 뷰 간에 값을 복사하여 동기화된 상태로 유지합니다. 이전 64비트 Windows 설치에서 이 프로세스는 32비트와 64비트 보기 사이에 리디렉션된 레지스트리 키의 하위 집합을 반영했습니다. 그러나 이 구현으로 인해 레지스트리 상태의 일부 불일치가 발생했습니다. 레지스트리 리플렉션에 대한 자세한 내용은 레지스트리 리플렉션을 참조하세요.
Windows 7부터 레지스트리 리플렉션을 완전히 제거하고 반영되던 키를 병합했습니다.
- 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
32비트 및 64비트 애플리케이션 모두에서 이러한 키에 대한 변경 내용을 즉시 사용할 수 있으므로 이는 사실상 동일한 리플렉션 동작을 제공합니다.
조건부로 반영된 키는 분할된 상태로 유지됩니다.
- 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
32비트와 64비트 애플리케이션 간에 공유해서는 안 되는 데이터를 유지하는 데 사용됩니다.
매니페스트
위의 목록에서 CLSID 및 인터페이스 키는 리디렉션되는 동안 더 이상 반영되지 않습니다. 대부분의 경우 원하는 동작이지만 애플리케이션이 Vista에서 반영된 동작에 종속될 수 있습니다.
애플리케이션이 리플렉션을 제어할 수 있도록 하는 함수(RegDisableReflectionKey 및 RegEnableReflectionKey)는 Windows 7에서 작동하지 않습니다.
영향 마이그레이션
COM은 레지스트리 리플렉션의 주요 소비자입니다. COM 및 기타 소비자는 이러한 변경에 맞게 업데이트되었습니다. 이 변경 내용은 표준 COM API를 사용하는 애플리케이션에 영향을 주지 않습니다.
솔루션
레지스트리 리플렉션을 사용하여 32비트 및 64비트 보기를 동기화하는 경우 다음 옵션 중 하나를 적용합니다.
설치하는 동안 두 보기에서 키를 명시적으로 만듭니다.
리플렉시된 키의 범위 밖으로 키 이동
리플렉션된 키를 쿼리할 때 레지스트리의 두 뷰를 모두 확인합니다.
참고: KEY_WOW64_32KEY 및 KEY_WOW64_64KEY 플래그를 결합할 수 없습니다.
RegDisableReflectionKey 함수를 사용하여 레지스트리 리플렉션을 사용하지 않도록 설정하는 경우 다음 옵션 중 하나를 적용합니다.
- 설치하는 동안 두 보기에서 키를 명시적으로 만듭니다.
- 리플렉시된 키의 범위 밖으로 키 이동
- 플랫폼별 하위 키(예: x86, amd64 및 ia64)를 사용하여 비트 수별 데이터를 구분합니다.
기타 리소스에 대한 링크
참고 항목
일부 언어 및 국가/지역에서는 이러한 리소스를 사용할 수 없습니다.