| 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);
|
| 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,
|
| - 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): "
|
|
|