Index: chrome/installer/mini_installer/mini_installer.cc |
diff --git a/chrome/installer/mini_installer/mini_installer.cc b/chrome/installer/mini_installer/mini_installer.cc |
index 25b0c80413049d6618a1e153e5cb0a0460fc4ced..c2ee715bf3e0b10c10db84f4149b5ab704fdc71e 100644 |
--- a/chrome/installer/mini_installer/mini_installer.cc |
+++ b/chrome/installer/mini_installer/mini_installer.cc |
@@ -132,7 +132,8 @@ bool ReadValueFromRegistry(HKEY root_key, const wchar_t *sub_key, |
size_t size) { |
RegKey key; |
- if (key.Open(root_key, sub_key, KEY_QUERY_VALUE) == ERROR_SUCCESS && |
+ if (key.Open(root_key, sub_key, |
+ KEY_QUERY_VALUE | KEY_WOW64_32KEY) == ERROR_SUCCESS && |
grt (UTC plus 2)
2014/05/27 16:42:08
this function is only used for a key in HKCU that
Will Harris
2014/05/27 19:25:10
Done.
|
key.ReadValue(value_name, value, size) == ERROR_SUCCESS) { |
return true; |
} |
@@ -156,7 +157,7 @@ bool OpenClientStateKey(HKEY root_key, const wchar_t* app_guid, REGSAM access, |
// TODO(grt): Write a unit test for this that uses registry virtualization. |
void SetInstallerFlags(const Configuration& configuration) { |
RegKey key; |
- const REGSAM key_access = KEY_QUERY_VALUE | KEY_SET_VALUE; |
+ const REGSAM key_access = KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_WOW64_32KEY; |
const HKEY root_key = |
configuration.is_system_level() ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; |
// This is ignored if multi-install is true. |
@@ -229,7 +230,8 @@ bool GetSetupExePathForGuidFromRegistry(bool system_level, |
size_t size) { |
const HKEY root_key = system_level ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; |
RegKey key; |
- return OpenClientStateKey(root_key, app_guid, KEY_QUERY_VALUE, &key) && |
+ return OpenClientStateKey(root_key, app_guid, |
+ KEY_QUERY_VALUE | KEY_WOW64_32KEY, &key) && |
(key.ReadValue(kUninstallRegistryValueName, path, size) == ERROR_SUCCESS); |
} |