| Index: chrome/installer/setup/install_worker.cc
|
| ===================================================================
|
| --- chrome/installer/setup/install_worker.cc (revision 273136)
|
| +++ chrome/installer/setup/install_worker.cc (working copy)
|
| @@ -216,7 +216,7 @@
|
| if (installer_state.operation() == InstallerState::UNINSTALL) {
|
| work_item_list->AddDeleteRegKeyWorkItem(installer_state.root_key(),
|
| full_cmd_key,
|
| - KEY_WOW64_32KEY)
|
| + WorkItem::kWow64Default)
|
| ->set_log_message("removing " + base::UTF16ToASCII(command_key) +
|
| " command");
|
| } else {
|
| @@ -442,7 +442,7 @@
|
| base::string16 uninstall_reg(product.distribution()->GetUninstallRegPath());
|
|
|
| WorkItem* delete_reg_key = work_item_list->AddDeleteRegKeyWorkItem(
|
| - reg_root, uninstall_reg, KEY_WOW64_32KEY);
|
| + reg_root, uninstall_reg, WorkItem::kWow64Default);
|
| delete_reg_key->set_ignore_failure(true);
|
|
|
| // Then attempt to delete the old installation's start menu shortcut.
|
| @@ -611,18 +611,17 @@
|
| WorkItemList* list) {
|
| VLOG(1) << "Adding unregistration items for DelegateExecute verb handler in "
|
| << root;
|
| - // Delete both 64 and 32 keys to handle 32->64 or 64->32 migration.
|
| - list->AddDeleteRegKeyWorkItem(root, delegate_execute_path, KEY_WOW64_32KEY);
|
| + list->AddDeleteRegKeyWorkItem(root,
|
| + delegate_execute_path,
|
| + WorkItem::kWow64Default);
|
|
|
| - list->AddDeleteRegKeyWorkItem(root, delegate_execute_path, KEY_WOW64_64KEY);
|
| -
|
| // In the past, the ICommandExecuteImpl interface and a TypeLib were both
|
| // registered. Remove these since this operation may be updating a machine
|
| // that had the old registrations.
|
| list->AddDeleteRegKeyWorkItem(root,
|
| L"Software\\Classes\\Interface\\"
|
| L"{0BA0D4E9-2259-4963-B9AE-A839F7CB7544}",
|
| - KEY_WOW64_32KEY);
|
| + WorkItem::kWow64Default);
|
| list->AddDeleteRegKeyWorkItem(root,
|
| L"Software\\Classes\\TypeLib\\"
|
| #if defined(GOOGLE_CHROME_BUILD)
|
| @@ -630,7 +629,7 @@
|
| #else
|
| L"{7779FB70-B399-454A-AA1A-BAA850032B10}",
|
| #endif
|
| - KEY_WOW64_32KEY);
|
| + WorkItem::kWow64Default);
|
| }
|
|
|
| // Google Chrome Canary, between 20.0.1101.0 (crrev.com/132190) and 20.0.1106.0
|
| @@ -700,17 +699,17 @@
|
|
|
| base::string16 update_state_key(browser_dist->GetStateKey());
|
| install_list->AddCreateRegKeyWorkItem(
|
| - reg_root, update_state_key, KEY_WOW64_32KEY);
|
| + reg_root, update_state_key, WorkItem::kWow64Default);
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| update_state_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| installer::kUninstallStringField,
|
| installer_path.value(),
|
| true);
|
| install_list->AddSetRegValueWorkItem(
|
| reg_root,
|
| update_state_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| installer::kUninstallArgumentsField,
|
| uninstall_arguments.GetCommandLineString(),
|
| true);
|
| @@ -724,23 +723,23 @@
|
|
|
| base::string16 uninstall_reg = browser_dist->GetUninstallRegPath();
|
| install_list->AddCreateRegKeyWorkItem(
|
| - reg_root, uninstall_reg, KEY_WOW64_32KEY);
|
| + reg_root, uninstall_reg, WorkItem::kWow64Default);
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| installer::kUninstallDisplayNameField,
|
| browser_dist->GetDisplayName(),
|
| true);
|
| install_list->AddSetRegValueWorkItem(
|
| reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| installer::kUninstallStringField,
|
| quoted_uninstall_cmd.GetCommandLineString(),
|
| true);
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"InstallLocation",
|
| install_path.value(),
|
| true);
|
| @@ -751,46 +750,44 @@
|
| dist->GetIconIndex(BrowserDistribution::SHORTCUT_CHROME));
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"DisplayIcon",
|
| chrome_icon,
|
| true);
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"NoModify",
|
| static_cast<DWORD>(1),
|
| true);
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"NoRepair",
|
| static_cast<DWORD>(1),
|
| true);
|
|
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"Publisher",
|
| browser_dist->GetPublisherName(),
|
| true);
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"Version",
|
| ASCIIToWide(new_version.GetString()),
|
| true);
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"DisplayVersion",
|
| ASCIIToWide(new_version.GetString()),
|
| true);
|
| - // TODO(wfh): Ensure that this value is preserved in the 64-bit hive when
|
| - // 64-bit installs place the uninstall information into the 64-bit registry.
|
| install_list->AddSetRegValueWorkItem(reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"InstallDate",
|
| InstallUtil::GetCurrentDate(),
|
| false);
|
| @@ -801,14 +798,14 @@
|
| install_list->AddSetRegValueWorkItem(
|
| reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"VersionMajor",
|
| static_cast<DWORD>(version_components[2]),
|
| true);
|
| install_list->AddSetRegValueWorkItem(
|
| reg_root,
|
| uninstall_reg,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| L"VersionMinor",
|
| static_cast<DWORD>(version_components[3]),
|
| true);
|
| @@ -826,18 +823,18 @@
|
| // Create Version key for each distribution (if not already present) and set
|
| // the new product version as the last step.
|
| base::string16 version_key(dist->GetVersionKey());
|
| - list->AddCreateRegKeyWorkItem(root, version_key, KEY_WOW64_32KEY);
|
| + list->AddCreateRegKeyWorkItem(root, version_key, WorkItem::kWow64Default);
|
|
|
| base::string16 product_name(dist->GetDisplayName());
|
| list->AddSetRegValueWorkItem(root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegNameField,
|
| product_name,
|
| true); // overwrite name also
|
| list->AddSetRegValueWorkItem(root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegOopcrashesField,
|
| static_cast<DWORD>(1),
|
| false); // set during first install
|
| @@ -850,14 +847,14 @@
|
| language.resize(2);
|
| list->AddSetRegValueWorkItem(root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegLangField,
|
| language,
|
| false); // do not overwrite language
|
| }
|
| list->AddSetRegValueWorkItem(root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegVersionField,
|
| ASCIIToWide(new_version.GetString()),
|
| true); // overwrite version
|
| @@ -900,11 +897,11 @@
|
| << BrowserDistribution::GetSpecificDistribution(source_type)->
|
| GetDisplayName();
|
| install_list->AddCreateRegKeyWorkItem(
|
| - root_key, multi_key, KEY_WOW64_32KEY);
|
| + root_key, multi_key, WorkItem::kWow64Default);
|
| // Always overwrite an old value.
|
| install_list->AddSetRegValueWorkItem(root_key,
|
| multi_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegOemInstallField,
|
| oem_install,
|
| true);
|
| @@ -913,7 +910,7 @@
|
| install_list->AddDeleteRegValueWorkItem(
|
| root_key,
|
| multi_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegOemInstallField);
|
| }
|
| }
|
| @@ -962,10 +959,10 @@
|
| << BrowserDistribution::GetSpecificDistribution(product_type)->
|
| GetDisplayName();
|
| install_list->AddCreateRegKeyWorkItem(
|
| - root_key, multi_key, KEY_WOW64_32KEY);
|
| + root_key, multi_key, WorkItem::kWow64Default);
|
| install_list->AddSetRegValueWorkItem(root_key,
|
| multi_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegEULAAceptedField,
|
| eula_accepted,
|
| true);
|
| @@ -974,7 +971,7 @@
|
| install_list->AddDeleteRegValueWorkItem(
|
| root_key,
|
| multi_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegEULAAceptedField);
|
| }
|
| }
|
| @@ -1002,9 +999,8 @@
|
| install_list->AddCreateRegKeyWorkItem(
|
| root_key,
|
| installer_state.multi_package_binaries_distribution()
|
| - ->GetStateMediumKey()
|
| - .c_str(),
|
| - KEY_WOW64_32KEY);
|
| + ->GetStateMediumKey().c_str(),
|
| + WorkItem::kWow64Default);
|
| }
|
|
|
| // Creating the ClientState key for binaries, if we're migrating to multi then
|
| @@ -1017,12 +1013,12 @@
|
| const base::string16& brand(chrome_product_state->brand());
|
| if (!brand.empty()) {
|
| install_list->AddCreateRegKeyWorkItem(
|
| - root_key, multi_key, KEY_WOW64_32KEY);
|
| + root_key, multi_key, WorkItem::kWow64Default);
|
| // Write Chrome's brand code to the multi key. Never overwrite the value
|
| // if one is already present (although this shouldn't happen).
|
| install_list->AddSetRegValueWorkItem(root_key,
|
| multi_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegBrandField,
|
| brand,
|
| false);
|
| @@ -1065,12 +1061,13 @@
|
| if (value_found) {
|
| base::string16 state_key(
|
| installer_state.multi_package_binaries_distribution()->GetStateKey());
|
| - install_list->AddCreateRegKeyWorkItem(root_key, state_key, KEY_WOW64_32KEY);
|
| + install_list->AddCreateRegKeyWorkItem(
|
| + root_key, state_key, WorkItem::kWow64Default);
|
| // Overwrite any existing value so that overinstalls (where Omaha writes a
|
| // new value into a product's state key) pick up the correct value.
|
| install_list->AddSetRegValueWorkItem(root_key,
|
| state_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegUsageStatsField,
|
| usagestats,
|
| true);
|
| @@ -1084,20 +1081,20 @@
|
| install_list->AddDeleteRegValueWorkItem(
|
| root_key,
|
| dist->GetStateMediumKey(),
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegUsageStatsField);
|
| // Previous versions of Chrome also wrote a value in HKCU even for
|
| // system-level installs, so clean that up.
|
| install_list->AddDeleteRegValueWorkItem(
|
| HKEY_CURRENT_USER,
|
| dist->GetStateKey(),
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegUsageStatsField);
|
| }
|
| install_list->AddDeleteRegValueWorkItem(
|
| root_key,
|
| dist->GetStateKey(),
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegUsageStatsField);
|
| }
|
| }
|
| @@ -1151,7 +1148,7 @@
|
| in_use_update_work_items->AddSetRegValueWorkItem(
|
| root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegOldVersionField,
|
| ASCIIToWide(current_version->GetString()),
|
| true);
|
| @@ -1160,7 +1157,7 @@
|
| in_use_update_work_items->AddSetRegValueWorkItem(
|
| root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegCriticalVersionField,
|
| ASCIIToWide(critical_version.GetString()),
|
| true);
|
| @@ -1168,7 +1165,7 @@
|
| in_use_update_work_items->AddDeleteRegValueWorkItem(
|
| root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegCriticalVersionField);
|
| }
|
|
|
| @@ -1183,7 +1180,7 @@
|
| in_use_update_work_items->AddSetRegValueWorkItem(
|
| root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegRenameCmdField,
|
| product_rename_cmd.GetCommandLineString(),
|
| true);
|
| @@ -1207,17 +1204,17 @@
|
| regular_update_work_items->AddDeleteRegValueWorkItem(
|
| root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegOldVersionField);
|
| regular_update_work_items->AddDeleteRegValueWorkItem(
|
| root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegCriticalVersionField);
|
| regular_update_work_items->AddDeleteRegValueWorkItem(
|
| root,
|
| version_key,
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegRenameCmdField);
|
| }
|
|
|
| @@ -1382,7 +1379,7 @@
|
| WorkItem* set_msi_work_item =
|
| work_item_list->AddSetRegValueWorkItem(installer_state.root_key(),
|
| dist->GetStateKey(),
|
| - KEY_WOW64_32KEY,
|
| + WorkItem::kWow64Default,
|
| google_update::kRegMSIField,
|
| msi_value,
|
| true);
|
| @@ -1591,7 +1588,8 @@
|
| GetRegCommandKey(product.distribution(), kCmdOnOsUpgrade));
|
|
|
| if (installer_state.operation() == InstallerState::UNINSTALL) {
|
| - install_list->AddDeleteRegKeyWorkItem(root_key, cmd_key, KEY_WOW64_32KEY)
|
| + install_list->AddDeleteRegKeyWorkItem(
|
| + root_key, cmd_key, WorkItem::kWow64Default)
|
| ->set_log_message("Removing OS upgrade command");
|
| } else {
|
| // Register with Google Update to have setup.exe --on-os-upgrade called on
|
| @@ -1623,8 +1621,9 @@
|
| base::string16 cmd_key(
|
| GetRegCommandKey(product.distribution(), kCmdQueryEULAAcceptance));
|
| if (installer_state.operation() == InstallerState::UNINSTALL) {
|
| - work_item_list->AddDeleteRegKeyWorkItem(root_key, cmd_key, KEY_WOW64_32KEY)
|
| - ->set_log_message("Removing query EULA acceptance command");
|
| + work_item_list->AddDeleteRegKeyWorkItem(
|
| + root_key, cmd_key, WorkItem::kWow64Default)
|
| + ->set_log_message("Removing query EULA acceptance command");
|
| } else {
|
| CommandLine cmd_line(installer_state
|
| .GetInstallerDirectory(new_version)
|
| @@ -1654,9 +1653,9 @@
|
| // Do this even if multi-install Chrome isn't installed to ensure that it is
|
| // not left behind in any case.
|
| work_item_list->AddDeleteRegKeyWorkItem(
|
| - installer_state.root_key(), cmd_key, KEY_WOW64_32KEY)
|
| - ->set_log_message("removing " + base::UTF16ToASCII(kCmdQuickEnableCf) +
|
| - " command");
|
| + installer_state.root_key(), cmd_key, WorkItem::kWow64Default)
|
| + ->set_log_message("removing " +
|
| + base::UTF16ToASCII(kCmdQuickEnableCf) + " command");
|
| }
|
|
|
| } // namespace installer
|
|
|