Index: chrome/installer/setup/uninstall.cc |
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc |
index a73a7f686f6e4125a6dd3cb4b04ba4bab559eb05..5165fef76576cbdcaee05ea22fe9681b8a6042f7 100644 |
--- a/chrome/installer/setup/uninstall.cc |
+++ b/chrome/installer/setup/uninstall.cc |
@@ -312,6 +312,18 @@ void DeleteChromeShortcuts(const InstallerState& installer_state, |
VLOG(1) << "Deleting shortcut " << shortcut_path.value(); |
if (!file_util::Delete(shortcut_path, true)) |
LOG(ERROR) << "Failed to delete folder: " << shortcut_path.value(); |
+ |
+ // For system-level installs: also delete the per-user Start Menu shortcut |
+ // created by the Active Setup flow. |
+ // TODO (gab): This is ugly, but I have a much cleaner solution to all of |
+ // this in my upcoming refactoring. |
+ if (installer_state.system_install() && |
+ PathService::Get(base::DIR_START_MENU, &shortcut_path)) { |
+ shortcut_path = shortcut_path.Append(product_name); |
+ VLOG(1) << "Deleting shortcut " << shortcut_path.value(); |
+ if (!file_util::Delete(shortcut_path, true)) |
+ LOG(ERROR) << "Failed to delete folder: " << shortcut_path.value(); |
+ } |
} |
ShellUtil::RemoveChromeStartScreenShortcuts(product.distribution(), |
@@ -1085,11 +1097,7 @@ InstallStatus UninstallProduct(const InstallationState& original_state, |
ProcessOnOsUpgradeWorkItems(installer_state, product); |
-// TODO(gab): This is only disabled for M22 as the shortcut CL using Active |
-// Setup will not make it in M22. |
-#if 0 |
UninstallActiveSetupEntries(installer_state, product); |
-#endif |
} |
if (product.is_chrome_frame()) { |