Index: chrome/installer/util/shell_util.cc |
diff --git a/chrome/installer/util/shell_util.cc b/chrome/installer/util/shell_util.cc |
index 9e705cce2f70c808caed8aa1ab39e7c08c42f621..149061fea51ac3c6b523e2f19816558fdaf8554c 100644 |
--- a/chrome/installer/util/shell_util.cc |
+++ b/chrome/installer/util/shell_util.cc |
@@ -48,6 +48,7 @@ |
#include "chrome/installer/util/master_preferences.h" |
#include "chrome/installer/util/master_preferences_constants.h" |
#include "chrome/installer/util/util_constants.h" |
+#include "chrome/installer/util/work_item.h" |
#include "installer_util_strings.h" // NOLINT |
@@ -531,11 +532,13 @@ class RegistryEntry { |
// Generate work_item tasks required to create current registry entry and |
// add them to the given work item list. |
void AddToWorkItemList(HKEY root, WorkItemList *items) const { |
- items->AddCreateRegKeyWorkItem(root, key_path_); |
+ items->AddCreateRegKeyWorkItem(root, key_path_, reg_wow64_option_); |
if (is_string_) { |
- items->AddSetRegValueWorkItem(root, key_path_, name_, value_, true); |
+ items->AddSetRegValueWorkItem(root, key_path_, name_, |
+ value_, true, reg_wow64_option_); |
} else { |
- items->AddSetRegValueWorkItem(root, key_path_, name_, int_value_, true); |
+ items->AddSetRegValueWorkItem(root, key_path_, name_, |
+ int_value_, true, reg_wow64_option_); |
} |
} |
@@ -574,8 +577,10 @@ class RegistryEntry { |
}; |
// Create a object that represent default value of a key |
- RegistryEntry(const base::string16& key_path, const base::string16& value) |
+ RegistryEntry(const base::string16& key_path, |
+ const base::string16& value) |
: key_path_(key_path), name_(), |
+ reg_wow64_option_(WorkItem::WOW64_DEFAULT), |
is_string_(true), value_(value), int_value_(0) { |
} |
@@ -583,6 +588,7 @@ class RegistryEntry { |
RegistryEntry(const base::string16& key_path, const base::string16& name, |
const base::string16& value) |
: key_path_(key_path), name_(name), |
+ reg_wow64_option_(WorkItem::WOW64_DEFAULT), |
is_string_(true), value_(value), int_value_(0) { |
} |
@@ -590,11 +596,14 @@ class RegistryEntry { |
RegistryEntry(const base::string16& key_path, const base::string16& name, |
DWORD value) |
: key_path_(key_path), name_(name), |
+ reg_wow64_option_(WorkItem::WOW64_DEFAULT), |
is_string_(false), value_(), int_value_(value) { |
} |
base::string16 key_path_; // key path for the registry entry |
base::string16 name_; // name of the registry entry |
+ // Which view of the registry to use. |
+ WorkItem::RegWow64ViewOption reg_wow64_option_; |
bool is_string_; // true if current registry entry is of type REG_SZ |
base::string16 value_; // string value (useful if is_string_ = true) |
DWORD int_value_; // integer value (useful if is_string_ = false) |