OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 // Delete shared registry keys as well (these require admin rights) if | 250 // Delete shared registry keys as well (these require admin rights) if |
251 // remove_all option is specified. | 251 // remove_all option is specified. |
252 if (remove_all) { | 252 if (remove_all) { |
253 DeleteRegistryKey(hklm_key, set_access_key); | 253 DeleteRegistryKey(hklm_key, set_access_key); |
254 DeleteRegistryKey(hklm_key, html_prog_id); | 254 DeleteRegistryKey(hklm_key, html_prog_id); |
255 DeleteRegistryValue(HKEY_LOCAL_MACHINE, | 255 DeleteRegistryValue(HKEY_LOCAL_MACHINE, |
256 ShellUtil::kRegRegisteredApplications, | 256 ShellUtil::kRegRegisteredApplications, |
257 dist->GetApplicationName()); | 257 dist->GetApplicationName()); |
258 | 258 |
259 // Delete the App Paths key that lets explorer find Chrome. | 259 // Delete the App Paths key that lets explorer find Chrome. |
260 DeleteRegistryKey(hklm_key, installer_util::kAppPathsRegistryKey); | 260 std::wstring app_path_key(ShellUtil::kAppPathsRegistryKey); |
| 261 file_util::AppendToPath(&app_path_key, installer_util::kChromeExe); |
| 262 DeleteRegistryKey(hklm_key, app_path_key); |
261 | 263 |
262 // Delete media player registry key that exists only in HKLM. | 264 // Delete media player registry key that exists only in HKLM. |
263 std::wstring reg_path(installer::kMediaPlayerRegPath); | 265 std::wstring reg_path(installer::kMediaPlayerRegPath); |
264 file_util::AppendToPath(®_path, installer_util::kChromeExe); | 266 file_util::AppendToPath(®_path, installer_util::kChromeExe); |
265 DeleteRegistryKey(hklm_key, reg_path); | 267 DeleteRegistryKey(hklm_key, reg_path); |
266 hklm_key.Close(); | 268 hklm_key.Close(); |
267 } | 269 } |
268 | 270 |
269 // Finally delete all the files from Chrome folder after moving setup.exe | 271 // Finally delete all the files from Chrome folder after moving setup.exe |
270 // to a temp location. | 272 // to a temp location. |
271 if (!DeleteFilesAndFolders(exe_path, system_uninstall, installed_version)) | 273 if (!DeleteFilesAndFolders(exe_path, system_uninstall, installed_version)) |
272 return installer_util::UNINSTALL_FAILED; | 274 return installer_util::UNINSTALL_FAILED; |
273 | 275 |
274 if (!force_uninstall) { | 276 if (!force_uninstall) { |
275 LOG(INFO) << "Uninstallation complete. Launching Uninstall survey."; | 277 LOG(INFO) << "Uninstallation complete. Launching Uninstall survey."; |
276 dist->DoPostUninstallOperations(installed_version); | 278 dist->DoPostUninstallOperations(installed_version); |
277 } | 279 } |
278 return installer_util::UNINSTALL_SUCCESSFUL; | 280 return installer_util::UNINSTALL_SUCCESSFUL; |
279 } | 281 } |
280 | 282 |
OLD | NEW |