| 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.
|
|
|