2
서브 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData
을 열려고합니다.OpenSubKey()는 레지스트리에서 하나의 경로 만 null을 반환합니다. C++
RegistryKey^ HkeylmPath32 = RegistryKey::OpenBaseKey(RegistryHive::LocalMachine, RegistryView::Registry32);
RegistryKey^ Test = HkeylmPath32->OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData");
을하지만 null을 반환 :
나는 등을 정의한다. 나는 프로그램에서 다양한 다른 레지스트리 호출을 가지고 있으며 모두 괜찮습니다. 나에게이 문제를 부여하는 것은 바로이 것입니다. 이 문제를 어떻게 해결할 수 있습니까?
나는 PowerShell에서이 작업을 실행 :$uninstallkey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer"
$reg = [Microsoft.Win32.RegistryKey]::OpenBaseKey('LocalMachine', 'Registry32')
$regkey = $reg.OpenSubKey($uninstallkey)
$subkeys = $regkey.GetSubKeyNames()
write-host $reg
write-host $uninstallkey
write-host $regkey
foreach($key in $subkeys){
write-host $key
}
다음은 결과입니다 제거 키는 32 비트 레지스트리 경로에가는 것을 보여주고있다하더라도
HKEY_LOCAL_MACHINE
SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
Secure
. 실제로
Wow6432Node
을 통해
Installer
의 Secure 하위 키 이름에 도달합니다.
왜? 레지스트리 32보기를 사용하도록 선언했습니다.
응용 프로그램이 컴파일되는 CPU 아키텍처는 무엇이며 Windows의 CPU 아키텍처는 무엇입니까? –
그것의 모든 64 비트, 왜 내가 Registry32로보기를 정의 thats. –