Index: chrome/browser/extensions/external_registry_loader_win.cc |
diff --git a/chrome/browser/extensions/external_registry_loader_win.cc b/chrome/browser/extensions/external_registry_loader_win.cc |
index ce44ae75dcf4603b35de9c73dda36d0784505509..b6d083ee185d28b66350adcea993b39e4bff3bd4 100644 |
--- a/chrome/browser/extensions/external_registry_loader_win.cc |
+++ b/chrome/browser/extensions/external_registry_loader_win.cc |
@@ -68,11 +68,15 @@ void ExternalRegistryLoader::LoadOnFileThread() { |
// A map of IDs, to weed out duplicates between HKCU and HKLM. |
std::set<base::string16> keys; |
base::win::RegistryKeyIterator iterator_machine_key( |
- HKEY_LOCAL_MACHINE, base::ASCIIToWide(kRegistryExtensions).c_str()); |
+ HKEY_LOCAL_MACHINE, |
+ base::ASCIIToWide(kRegistryExtensions).c_str(), |
+ KEY_WOW64_32KEY); |
for (; iterator_machine_key.Valid(); ++iterator_machine_key) |
keys.insert(iterator_machine_key.Name()); |
base::win::RegistryKeyIterator iterator_user_key( |
- HKEY_CURRENT_USER, base::ASCIIToWide(kRegistryExtensions).c_str()); |
+ HKEY_CURRENT_USER, |
+ base::ASCIIToWide(kRegistryExtensions).c_str(), |
+ 0); |
Will Harris
2014/10/07 02:03:16
This could use the two parameter constructor but I
grt (UTC plus 2)
2014/10/07 15:47:10
Why here and not everywhere that HKCU is used?
Will Harris
2014/10/07 17:16:14
True, I'll change it back.
|
for (; iterator_user_key.Valid(); ++iterator_user_key) |
keys.insert(iterator_user_key.Name()); |
@@ -86,7 +90,8 @@ void ExternalRegistryLoader::LoadOnFileThread() { |
key_path.append(L"\\"); |
key_path.append(*it); |
if (key.Open(HKEY_LOCAL_MACHINE, |
grt (UTC plus 2)
2014/10/07 15:47:10
nit:
if (key.Open(...,
...) !
Will Harris
2014/10/07 17:16:14
Done.
|
- key_path.c_str(), KEY_READ) != ERROR_SUCCESS) { |
+ key_path.c_str(), |
+ KEY_READ | KEY_WOW64_32KEY) != ERROR_SUCCESS) { |
if (key.Open(HKEY_CURRENT_USER, |
key_path.c_str(), KEY_READ) != ERROR_SUCCESS) { |
LOG(ERROR) << "Unable to read registry key at path (HKLM & HKCU): " |