summaryrefslogtreecommitdiffstats
path: root/chrome/installer/setup/install.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/installer/setup/install.cc')
-rw-r--r--chrome/installer/setup/install.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/chrome/installer/setup/install.cc b/chrome/installer/setup/install.cc
index 7543212..1c17b81 100644
--- a/chrome/installer/setup/install.cc
+++ b/chrome/installer/setup/install.cc
@@ -228,7 +228,7 @@ bool installer::InstallNewVersion(const std::wstring& exe_path,
} else {
scoped_ptr<WorkItemList> inuse_list(WorkItem::CreateWorkItemList());
inuse_list->AddSetRegValueWorkItem(reg_root,
- version_key,
+ version_key,
google_update::kRegOldVersionField,
current_version.c_str(),
true);
@@ -236,10 +236,14 @@ bool installer::InstallNewVersion(const std::wstring& exe_path,
install_path, new_version.GetString()));
file_util::AppendToPath(&rename_cmd,
file_util::GetFilenameFromPath(exe_path));
- rename_cmd = L"\"" + rename_cmd + L"\" --" +
- installer_util::switches::kRenameChromeExe;
+ rename_cmd = L"\"" + rename_cmd +
+ L"\" --" + installer_util::switches::kRenameChromeExe;
+ if (reg_root == HKEY_LOCAL_MACHINE) {
+ rename_cmd = rename_cmd + L" --" +
+ installer_util::switches::kSystemLevel;
+ }
inuse_list->AddSetRegValueWorkItem(reg_root,
- version_key,
+ version_key,
google_update::kRegRenameCmdField,
rename_cmd.c_str(),
true);
@@ -251,10 +255,10 @@ bool installer::InstallNewVersion(const std::wstring& exe_path,
}
} else {
scoped_ptr<WorkItemList> inuse_list(WorkItem::CreateWorkItemList());
- inuse_list->AddDeleteRegValueWorkItem(reg_root, version_key,
+ inuse_list->AddDeleteRegValueWorkItem(reg_root, version_key,
google_update::kRegOldVersionField,
true);
- inuse_list->AddDeleteRegValueWorkItem(reg_root, version_key,
+ inuse_list->AddDeleteRegValueWorkItem(reg_root, version_key,
google_update::kRegRenameCmdField,
true);
if (!inuse_list->Do()) {