2017-10-04 3 views
0

우리는 레지스트리를 광범위하게 사용하는 32 비트 Windows 응용 프로그램을 제공합니다. 무엇보다도 우리는 사용자 이름/기관 및 라이센스 키를 레지스트리에 저장합니다. 일부 사용자는 해당 데이터를 설치 프로그램에 입력하는 데 문제가있는 것 같습니다. 그 (것)들을 위해 .reg 파일을 관련 정보와 함께 제공했지만 32 비트 앱이 데이터를 볼 수 없다는 점에서 64 비트 Windows 7 (및 다른 가정)에서 문제가 발생합니다. 32 비트 버전의 regedit을 사용하고 싶었지만 배치 파일 내부에 이식 가능한 방법이없는 것 같습니다. 누구든지 어떤 제안이 있습니까? 솔루션에 실패하면 키와 값을 생성하는 32 비트 응용 프로그램을 작성할 수 있습니다. 그러면 OS는 32 비트 응용 프로그램과 동일한 위치에 데이터를 배치해야합니다. 그 (것)들을 찾아 낼 것이다, 그러나 .reg 파일은 바람직 할 것이.32 비트 및 64 비트 Windows 용 Portable .reg 파일?

Windows 7 (64 비트)이 HKEY_LOCAL_MACHINE/Software/Wow6432Node에 항목을 저장한다는 사실을 알고 있습니다. 이 .reg 파일 (regedit 사용) 지정 시도했지만 응용 프로그램에서 키/값 중 하나를 찾을 수 없습니다. (HKEY_LOCAL_MACHINE/Software/HKEY_LOCAL_MACHINE/Software/Wow6432Node/모두에서 키를 저장하려고했습니다. 휴대용이되기위한 노력).

답변

0

Windows는 Windows for having separate settings for 32 and 64 bits programs의 32 비트 응용 프로그램에 대한 일부 레지스트리 키를 자동으로 리디렉션합니다 (System32SysWOW64 폴더의 경우와 유사). 예를 들어, HKEY_LOCAL_MACHINE/Software/App Name을 요청하는 32 비트 응용 프로그램은 HKEY_LOCAL_MACHINE/Software/WOW6432Node/App Name으로 리디렉션됩니다 (해당 리디렉션은 응용 프로그램에 투명하고 액세스 지점은 HKEY_LOCAL_MACHINE/Software/App Name입니다).

.reg 파일을 직접 사용하고 레지스트리 편집기가 64 비트 Windows에서 64 비트 응용 프로그램이므로 리디렉션이 발생하지 않고 해당 키가 레지스트리의 64 비트 부분에 기록됩니다.

HKEY_LOCAL_MACHINE/Software/WOW6432Node/WOW6432Node으로 리디렉션되기 때문에 32 비트 프로그램이 HKEY_LOCAL_MACHINE/Software/WOW6432Node을 찾을 수없는 이유이기도합니다.

귀하가 제안하는 솔루션은 모두 작동합니다 :

  • 재 지정은 기본적으로 일어날 것이기 때문에 작동 키를 생성하기위한 32 비트 응용 프로그램을 사용.

  • 두 키를 모두 만드는 데는 "가비지"키가 필요합니다. 32 비트 Windows에서는 일반 키가 사용되고 64 비트 Windows에서는 앱이 WOW6432Node으로 리디렉션됩니다. WOW6432Node은 32 비트 버전의 Windows에서 사용되지 않으므로 문제가되지 않습니다 (이벤트가 없음).