summaryrefslogtreecommitdiffstats
path: root/chrome/installer
diff options
context:
space:
mode:
authorgrt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-12 18:52:20 +0000
committergrt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-12 18:52:20 +0000
commit45bae236b03f577ed6682ef4c7ef3ee006de5e5a (patch)
tree82e86298072c0a341b1c1d125bc9af75069b0a75 /chrome/installer
parenta884de9ca8f0b7805e53a5a4323743d6d1d2c478 (diff)
downloadchromium_src-45bae236b03f577ed6682ef4c7ef3ee006de5e5a.zip
chromium_src-45bae236b03f577ed6682ef4c7ef3ee006de5e5a.tar.gz
chromium_src-45bae236b03f577ed6682ef4c7ef3ee006de5e5a.tar.bz2
Copy setup.exe rather than moving it since it is created outside of the target directory heirarchy (regression introduced in r75899).
BUG=82424 TEST=Install system-level Chrome as some admin user X. Switch to admin user Y and try to uninstall. R=robertshield@chromium.org Review URL: http://codereview.chromium.org/7011018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85159 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer')
-rw-r--r--chrome/installer/setup/install_worker.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc
index 07c80bc..552d39f 100644
--- a/chrome/installer/setup/install_worker.cc
+++ b/chrome/installer/setup/install_worker.cc
@@ -97,12 +97,14 @@ void AddInstallerCopyTasks(const InstallerState& installer_state,
FilePath exe_dst(installer_dir.Append(setup_path.BaseName()));
FilePath archive_dst(installer_dir.Append(archive_path.BaseName()));
+ install_list->AddCopyTreeWorkItem(setup_path.value(), exe_dst.value(),
+ temp_path.value(), WorkItem::ALWAYS);
+
// In the past, we copied rather than moved for system level installs so that
// the permissions of %ProgramFiles% would be picked up. Now that |temp_path|
// is in %ProgramFiles% for system level installs (and in %LOCALAPPDATA%
- // otherwise), there is no need to do this.
- install_list->AddMoveTreeWorkItem(setup_path.value(), exe_dst.value(),
- temp_path.value(), WorkItem::ALWAYS_MOVE);
+ // otherwise), there is no need to do this for the archive. Setup.exe, on
+ // the other hand, is created elsewhere so it must always be copied.
install_list->AddMoveTreeWorkItem(archive_path.value(), archive_dst.value(),
temp_path.value(), WorkItem::ALWAYS_MOVE);
}