diff options
author | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-20 22:26:53 +0000 |
---|---|---|
committer | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-20 22:26:53 +0000 |
commit | e4cdc665ff69c7ddff0ce5740592e735a108e0b7 (patch) | |
tree | c91e1db9eb240665a18d1d6c63289638cd677585 /chrome/installer/setup/install.cc | |
parent | 63357da39cd6d80467cdb90bb46c7933ab8609bc (diff) | |
download | chromium_src-e4cdc665ff69c7ddff0ce5740592e735a108e0b7.zip chromium_src-e4cdc665ff69c7ddff0ce5740592e735a108e0b7.tar.gz chromium_src-e4cdc665ff69c7ddff0ce5740592e735a108e0b7.tar.bz2 |
- If the exe rename command fails try calling Google Update to do the same job. This works when we are logged into XP/Vista as limited rights user.
- Update Google Update idl file that has the recently added COM object.
- Add --system-level to the rename command that gets added to the registry.
- Remove all the code to uninstall Gears MSI. Now most of the user have been upgraded to Chrome installer that includes gears.dll.
BUG=1463346
Review URL: http://codereview.chromium.org/11255
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5791 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/setup/install.cc')
-rw-r--r-- | chrome/installer/setup/install.cc | 16 |
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()) { |