Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: chrome/installer/setup/uninstall.cc

Issue 11359013: Adding App Launcher shortcuts on install. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with refactor_chrome_shortcut_op. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // This file defines the methods useful for uninstalling Chrome. 5 // This file defines the methods useful for uninstalling Chrome.
6 6
7 #include "chrome/installer/setup/uninstall.h" 7 #include "chrome/installer/setup/uninstall.h"
8 8
9 #include <windows.h> 9 #include <windows.h>
10 10
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 } 249 }
250 } 250 }
251 251
252 if (kill) { 252 if (kill) {
253 VLOG(1) << installer::kChromeFrameHelperExe << " hung. Killing."; 253 VLOG(1) << installer::kChromeFrameHelperExe << " hung. Killing.";
254 base::CleanupProcesses(installer::kChromeFrameHelperExe, base::TimeDelta(), 254 base::CleanupProcesses(installer::kChromeFrameHelperExe, base::TimeDelta(),
255 content::RESULT_CODE_HUNG, NULL); 255 content::RESULT_CODE_HUNG, NULL);
256 } 256 }
257 } 257 }
258 258
259 // Deletes shortcuts at |install_level| from Start menu, Desktop,
erikwright (departed) 2012/11/07 21:15:30 I guess this is to be removed?
huangs 2012/11/07 21:41:59 I was trying to see if there's anything that can b
gab 2012/11/07 21:44:40 I'd say the opposite, add "taskbar" to this list a
huangs 2012/11/07 22:14:46 Done, replaced old comment with 3-line comment.
260 // Quick Launch, and secondary tiles on the Start Screen (Win8+).
261 // Only shortcuts pointing to |target| will be removed.
262
263
259 // This method deletes the product's shortcut folder from the 264 // This method deletes the product's shortcut folder from the
260 // Windows Start menu. It checks system_uninstall to see if the shortcut is 265 // Windows Start menu. It checks system_uninstall to see if the shortcut is
261 // in all users start menu or current user start menu. 266 // in all users start menu or current user start menu.
262 // We try to remove the standard desktop shortcut but if that fails we try 267 // We try to remove the standard desktop shortcut but if that fails we try
263 // to remove the alternate desktop shortcut. Only one of them should be 268 // to remove the alternate desktop shortcut. Only one of them should be
264 // present in a given install but at this point we don't know which one. 269 // present in a given install but at this point we don't know which one.
265 // We remove all start screen secondary tiles by removing the folder Windows 270 // We remove all start screen secondary tiles by removing the folder Windows
266 // uses to store this installation's tiles. 271 // uses to store this installation's tiles.
267 void DeleteShortcuts(const InstallerState& installer_state, 272 void DeleteShortcuts(const InstallerState& installer_state,
gab 2012/11/07 21:44:40 And see, that's why we asked you not to commit you
huangs 2012/11/07 22:14:46 !
268 const Product& product, 273 const Product& product,
269 const string16& target_exe) { 274 const string16& target_exe) {
270 BrowserDistribution* dist = product.distribution(); 275 BrowserDistribution* dist = product.distribution();
271 276
272 // The per-user shortcut for this user, if present on a system-level install, 277 // The per-user shortcut for this user, if present on a system-level install,
273 // has already been deleted in chrome_browser_main_win.cc::DoUninstallTasks(). 278 // has already been deleted in chrome_browser_main_win.cc::DoUninstallTasks().
274 ShellUtil::ShellChange install_level = installer_state.system_install() ? 279 ShellUtil::ShellChange install_level = installer_state.system_install() ?
275 ShellUtil::SYSTEM_LEVEL : ShellUtil::CURRENT_USER; 280 ShellUtil::SYSTEM_LEVEL : ShellUtil::CURRENT_USER;
276 281
277 VLOG(1) << "Deleting Desktop shortcut."; 282 VLOG(1) << "Deleting Desktop shortcut.";
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after
1046 new_cmd.AppendSwitch(installer::switches::kRemoveChromeRegistration); 1051 new_cmd.AppendSwitch(installer::switches::kRemoveChromeRegistration);
1047 if (!suffix.empty()) { 1052 if (!suffix.empty()) {
1048 new_cmd.AppendSwitchNative( 1053 new_cmd.AppendSwitchNative(
1049 installer::switches::kRegisterChromeBrowserSuffix, suffix); 1054 installer::switches::kRegisterChromeBrowserSuffix, suffix);
1050 } 1055 }
1051 DWORD exit_code = installer::UNKNOWN_STATUS; 1056 DWORD exit_code = installer::UNKNOWN_STATUS;
1052 InstallUtil::ExecuteExeAsAdmin(new_cmd, &exit_code); 1057 InstallUtil::ExecuteExeAsAdmin(new_cmd, &exit_code);
1053 } 1058 }
1054 } 1059 }
1055 1060
1061 if (product.is_chrome_app_host()) {
1062 // Remove this check once we have system-level App Host.
gab 2012/11/07 21:44:40 Add TODO in front of comment.
huangs 2012/11/07 22:14:46 Done.
1063 DCHECK(!installer_state.system_install());
1064 const string16 app_host_exe(
1065 installer_state.target_path().Append(installer::kChromeAppHostExe)
1066 .value());
1067 // Delete shortcuts from Start menu, Desktop, and Quick Launch.
1068 DeleteShortcuts(installer_state, product, app_host_exe);
1069 }
1070
1056 // Chrome is not in use so lets uninstall Chrome by deleting various files 1071 // Chrome is not in use so lets uninstall Chrome by deleting various files
1057 // and registry entries. Here we will just make best effort and keep going 1072 // and registry entries. Here we will just make best effort and keep going
1058 // in case of errors. 1073 // in case of errors.
1059 if (is_chrome) { 1074 if (is_chrome) {
gab 2012/11/07 21:44:40 else if {} from block above, the product can't bot
huangs 2012/11/07 22:14:46 Done (using else if; handling is_chrome first).
1060 ClearRlzProductState(); 1075 ClearRlzProductState();
1061 // Delete the key that delegate_execute might make. 1076 // Delete the key that delegate_execute might make.
1062 if (base::win::GetVersion() >= base::win::VERSION_WIN8) { 1077 if (base::win::GetVersion() >= base::win::VERSION_WIN8) {
1063 InstallUtil::DeleteRegistryKey(HKEY_CURRENT_USER, 1078 InstallUtil::DeleteRegistryKey(HKEY_CURRENT_USER,
1064 chrome::kMetroRegistryPath); 1079 chrome::kMetroRegistryPath);
1065 } 1080 }
1066 1081
1067 auto_launch_util::DisableAllAutoStartFeatures( 1082 auto_launch_util::DisableAllAutoStartFeatures(
1068 ASCIIToUTF16(chrome::kInitialProfile)); 1083 ASCIIToUTF16(chrome::kInitialProfile));
1069 1084
1070 // First delete shortcuts from Start->Programs, Desktop & Quick Launch. 1085 // Delete shortcuts from Start menu, Desktop, and Quick Launch.
gab 2012/11/07 21:44:40 This comment is now also missing taskbar and start
huangs 2012/11/07 22:14:46 Done (removed both comments from the 2 callers).
1071 DeleteShortcuts(installer_state, product, chrome_exe); 1086 DeleteShortcuts(installer_state, product, chrome_exe);
1072 } 1087 }
1073 1088
1074 // Delete the registry keys (Uninstall key and Version key). 1089 // Delete the registry keys (Uninstall key and Version key).
1075 HKEY reg_root = installer_state.root_key(); 1090 HKEY reg_root = installer_state.root_key();
1076 1091
1077 // Note that we must retrieve the distribution-specific data before deleting 1092 // Note that we must retrieve the distribution-specific data before deleting
1078 // product.GetVersionKey(). 1093 // product.GetVersionKey().
1079 string16 distribution_data(browser_dist->GetDistributionData(reg_root)); 1094 string16 distribution_data(browser_dist->GetDistributionData(reg_root));
1080 1095
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 1280
1266 // Try and delete the preserved local state once the post-install 1281 // Try and delete the preserved local state once the post-install
1267 // operations are complete. 1282 // operations are complete.
1268 if (!backup_state_file.empty()) 1283 if (!backup_state_file.empty())
1269 file_util::Delete(backup_state_file, false); 1284 file_util::Delete(backup_state_file, false);
1270 1285
1271 return ret; 1286 return ret;
1272 } 1287 }
1273 1288
1274 } // namespace installer 1289 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698