summaryrefslogtreecommitdiffstats
path: root/chrome/installer/setup/uninstall.cc
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-28 13:42:46 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-28 13:42:46 +0000
commit8586ba6c1120dd5fb58175b792f001d9f6468e06 (patch)
tree3e745293b1cb1dbcffcf7b21647ad133ccee2725 /chrome/installer/setup/uninstall.cc
parent7285f6ea8ca1e82f215c9c4d0cea09579cc45510 (diff)
downloadchromium_src-8586ba6c1120dd5fb58175b792f001d9f6468e06.zip
chromium_src-8586ba6c1120dd5fb58175b792f001d9f6468e06.tar.gz
chromium_src-8586ba6c1120dd5fb58175b792f001d9f6468e06.tar.bz2
Additional changes to support Chrome / CF installation wrapped in an MSI:
Disables start menu uninstall shortcuts. Tweaks quoting of uninstall command to follow msi ca rules. Adds a ClientState registry entry to flag that this installation is managed by an MSI. Set said registry flag on first MSI install. BUG=19370 TEST=Install with generated MSI, upgrade, uninstall. Review URL: http://codereview.chromium.org/1525042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45802 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/setup/uninstall.cc')
-rw-r--r--chrome/installer/setup/uninstall.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc
index 3ce98d6..79ccdbe 100644
--- a/chrome/installer/setup/uninstall.cc
+++ b/chrome/installer/setup/uninstall.cc
@@ -339,14 +339,16 @@ installer_util::InstallStatus IsChromeActiveOrUserCancelled(
}
bool ShouldDeleteProfile(const CommandLine& cmd_line,
- installer_util::InstallStatus status) {
+ installer_util::InstallStatus status,
+ bool system_uninstall) {
bool should_delete = false;
// Chrome Frame uninstallations always want to delete the profile (we have no
// UI to prompt otherwise and the profile stores no useful data anyway)
// unless they are managed by MSI. MSI uninstalls will explicitly include
// the --delete-profile flag to distinguish them from MSI upgrades.
- if (InstallUtil::IsChromeFrameProcess() && !InstallUtil::IsMSIProcess()) {
+ if (InstallUtil::IsChromeFrameProcess() &&
+ !InstallUtil::IsMSIProcess(system_uninstall)) {
should_delete = true;
} else {
should_delete =
@@ -569,7 +571,7 @@ installer_util::InstallStatus installer_setup::UninstallChrome(
// Finally delete all the files from Chrome folder after moving setup.exe
// and the user's Local State to a temp location.
- bool delete_profile = ShouldDeleteProfile(cmd_line, status);
+ bool delete_profile = ShouldDeleteProfile(cmd_line, status, system_uninstall);
std::wstring local_state_path;
ret = installer_util::UNINSTALL_SUCCESSFUL;