Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7432)

Unified Diff: chrome/installer/util/installation_state.cc

Issue 300593002: Make omaha, gcapi and uninstall registry accesses use Wow6432Node on 64-bit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/util/install_util.cc ('k') | chrome/installer/util/installer_state.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/util/installation_state.cc
diff --git a/chrome/installer/util/installation_state.cc b/chrome/installer/util/installation_state.cc
index 91631b147375e6e9e8d51635141ef8fc183257b8..718e44a96f77d4100f49fc195da2c6827d6f6047 100644
--- a/chrome/installer/util/installation_state.cc
+++ b/chrome/installer/util/installation_state.cc
@@ -36,7 +36,8 @@ bool ProductState::Initialize(bool system_install,
// static
bool ProductState::InitializeCommands(const base::win::RegKey& version_key,
AppCommands* commands) {
- static const DWORD kAccess = KEY_ENUMERATE_SUB_KEYS | KEY_QUERY_VALUE;
+ static const DWORD kAccess =
+ KEY_ENUMERATE_SUB_KEYS | KEY_QUERY_VALUE | KEY_WOW64_32KEY;
base::win::RegKey commands_key;
if (commands_key.Open(version_key.Handle(), google_update::kRegCommandsKey,
@@ -47,6 +48,7 @@ bool ProductState::InitializeCommands(const base::win::RegKey& version_key,
bool ProductState::Initialize(bool system_install,
BrowserDistribution* distribution) {
+ static const DWORD kAccess = KEY_QUERY_VALUE | KEY_WOW64_32KEY;
const std::wstring version_key(distribution->GetVersionKey());
const std::wstring state_key(distribution->GetStateKey());
const HKEY root_key = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
@@ -56,8 +58,7 @@ bool ProductState::Initialize(bool system_install,
Clear();
// Read from the Clients key.
- if (key.Open(root_key, version_key.c_str(),
- KEY_QUERY_VALUE) == ERROR_SUCCESS) {
+ if (key.Open(root_key, version_key.c_str(), kAccess) == ERROR_SUCCESS) {
base::string16 version_str;
if (key.ReadValue(google_update::kRegVersionField,
&version_str) == ERROR_SUCCESS) {
@@ -82,8 +83,7 @@ bool ProductState::Initialize(bool system_install,
}
// Read from the ClientState key.
- if (key.Open(root_key, state_key.c_str(),
- KEY_QUERY_VALUE) == ERROR_SUCCESS) {
+ if (key.Open(root_key, state_key.c_str(), kAccess) == ERROR_SUCCESS) {
std::wstring setup_path;
std::wstring uninstall_arguments;
// "ap" will be absent if not managed by Google Update.
@@ -124,8 +124,8 @@ bool ProductState::Initialize(bool system_install,
// Read from the ClientStateMedium key. Values here override those in
// ClientState.
if (system_install &&
- key.Open(root_key, distribution->GetStateMediumKey().c_str(),
- KEY_QUERY_VALUE) == ERROR_SUCCESS) {
+ key.Open(root_key, distribution->GetStateMediumKey().c_str(), kAccess) ==
+ ERROR_SUCCESS) {
DWORD dword_value = 0;
if (key.ReadValueDW(google_update::kRegUsageStatsField,
« no previous file with comments | « chrome/installer/util/install_util.cc ('k') | chrome/installer/util/installer_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698