diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-28 13:42:46 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-28 13:42:46 +0000 |
commit | 8586ba6c1120dd5fb58175b792f001d9f6468e06 (patch) | |
tree | 3e745293b1cb1dbcffcf7b21647ad133ccee2725 /chrome/installer/setup/uninstall.cc | |
parent | 7285f6ea8ca1e82f215c9c4d0cea09579cc45510 (diff) | |
download | chromium_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.cc | 8 |
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; |