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

Unified Diff: chrome/installer/util/work_item.h

Issue 282363003: Add WOW64 support to the installer registry work items (Closed) Base URL: https://chromium.googlesource.com/chromium/src
Patch Set: 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
Index: chrome/installer/util/work_item.h
diff --git a/chrome/installer/util/work_item.h b/chrome/installer/util/work_item.h
index 30118609f6a48c68ecc822386939133c0e27a49c..148eeafe59e7ab849b0d178060fac89440f038fa 100644
--- a/chrome/installer/util/work_item.h
+++ b/chrome/installer/util/work_item.h
@@ -53,6 +53,12 @@ class WorkItem {
CHECK_DUPLICATES // Only move if the move target is different.
};
+ enum RegWow64ViewOption {
+ WOW64_DEFAULT, // Use default view for specified key.
+ WOW64_64KEY, // Always attempt to access the 64-bit registry view.
+ WOW64_32KEY // Always attempt to access the 32-bit registry view.
+ };
+
// Abstract base class for the conditions used by ConditionWorkItemList.
// TODO(robertshield): Move this out of WorkItem.
class Condition {
@@ -72,7 +78,8 @@ class WorkItem {
HKEY predefined_root,
const std::wstring& source_key_path,
const std::wstring& dest_key_path,
- CopyOverWriteOption overwrite_option);
+ CopyOverWriteOption overwrite_option,
+ RegWow64ViewOption reg_wow64_option);
// Create a CopyTreeWorkItem that recursively copies a file system hierarchy
// from source path to destination path.
@@ -93,18 +100,22 @@ class WorkItem {
// Create a CreateRegKeyWorkItem that creates a registry key at the given
// path.
static CreateRegKeyWorkItem* CreateCreateRegKeyWorkItem(
- HKEY predefined_root, const std::wstring& path);
+ HKEY predefined_root, const std::wstring& path,
+ RegWow64ViewOption reg_wow64_option);
// Create a DeleteRegKeyWorkItem that deletes a registry key at the given
// path.
static DeleteRegKeyWorkItem* CreateDeleteRegKeyWorkItem(
- HKEY predefined_root, const std::wstring& path);
+ HKEY predefined_root,
+ const std::wstring& path,
+ RegWow64ViewOption reg_wow64_option);
// Create a DeleteRegValueWorkItem that deletes a registry value
static DeleteRegValueWorkItem* CreateDeleteRegValueWorkItem(
HKEY predefined_root,
const std::wstring& key_path,
- const std::wstring& value_name);
+ const std::wstring& value_name,
+ RegWow64ViewOption reg_wow64_option);
// Create a DeleteTreeWorkItem that recursively deletes a file system
// hierarchy at the given root path. A key file can be optionally specified
@@ -129,7 +140,8 @@ class WorkItem {
const std::wstring& key_path,
const std::wstring& value_name,
const std::wstring& value_data,
- bool overwrite);
+ bool overwrite,
+ RegWow64ViewOption reg_wow64_option);
// Create a SetRegValueWorkItem that sets a registry value with REG_DWORD type
// at the key with specified path.
@@ -137,7 +149,8 @@ class WorkItem {
HKEY predefined_root,
const std::wstring& key_path,
const std::wstring& value_name,
- DWORD value_data, bool overwrite);
+ DWORD value_data, bool overwrite,
+ RegWow64ViewOption reg_wow64_option);
// Create a SetRegValueWorkItem that sets a registry value with REG_QWORD type
// at the key with specified path.
@@ -145,7 +158,8 @@ class WorkItem {
HKEY predefined_root,
const std::wstring& key_path,
const std::wstring& value_name,
- int64 value_data, bool overwrite);
+ int64 value_data, bool overwrite,
+ RegWow64ViewOption reg_wow64_option);
// Add a SelfRegWorkItem that registers or unregisters a DLL at the
// specified path.

Powered by Google App Engine
This is Rietveld 408576698