OLD | NEW |
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 #include <stddef.h> | 10 #include <stddef.h> |
(...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1223 if (remove_all) { | 1223 if (remove_all) { |
1224 if (!InstallUtil::IsChromeSxSProcess() && is_chrome) { | 1224 if (!InstallUtil::IsChromeSxSProcess() && is_chrome) { |
1225 // Delete media player registry key that exists only in HKLM. | 1225 // Delete media player registry key that exists only in HKLM. |
1226 // We don't delete this key in SxS uninstall or Chrome Frame uninstall | 1226 // We don't delete this key in SxS uninstall or Chrome Frame uninstall |
1227 // as we never set the key for those products. | 1227 // as we never set the key for those products. |
1228 base::string16 reg_path(installer::kMediaPlayerRegPath); | 1228 base::string16 reg_path(installer::kMediaPlayerRegPath); |
1229 reg_path.push_back(base::FilePath::kSeparators[0]); | 1229 reg_path.push_back(base::FilePath::kSeparators[0]); |
1230 reg_path.append(installer::kChromeExe); | 1230 reg_path.append(installer::kChromeExe); |
1231 InstallUtil::DeleteRegistryKey(HKEY_LOCAL_MACHINE, reg_path, | 1231 InstallUtil::DeleteRegistryKey(HKEY_LOCAL_MACHINE, reg_path, |
1232 WorkItem::kWow64Default); | 1232 WorkItem::kWow64Default); |
| 1233 |
| 1234 // Remove the event log provider registration as we are going to delete |
| 1235 // the file which serves the resources anyways. |
| 1236 DeRegisterEventLogProvider(); |
1233 } | 1237 } |
1234 | 1238 |
1235 // Unregister any dll servers that we may have registered for this | 1239 // Unregister any dll servers that we may have registered for this |
1236 // product. | 1240 // product. |
1237 if (product_state) { | 1241 if (product_state) { |
1238 std::vector<base::FilePath> com_dll_list; | 1242 std::vector<base::FilePath> com_dll_list; |
1239 product.AddComDllList(&com_dll_list); | 1243 product.AddComDllList(&com_dll_list); |
1240 base::FilePath dll_folder = installer_state.target_path().AppendASCII( | 1244 base::FilePath dll_folder = installer_state.target_path().AppendASCII( |
1241 product_state->version().GetString()); | 1245 product_state->version().GetString()); |
1242 | 1246 |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1373 // If we need a reboot to continue, schedule the parent directories for | 1377 // If we need a reboot to continue, schedule the parent directories for |
1374 // deletion unconditionally. If they are not empty, the session manager | 1378 // deletion unconditionally. If they are not empty, the session manager |
1375 // will not delete them on reboot. | 1379 // will not delete them on reboot. |
1376 ScheduleParentAndGrandparentForDeletion(target_path); | 1380 ScheduleParentAndGrandparentForDeletion(target_path); |
1377 } else if (DeleteChromeDirectoriesIfEmpty(target_path) == DELETE_FAILED) { | 1381 } else if (DeleteChromeDirectoriesIfEmpty(target_path) == DELETE_FAILED) { |
1378 *uninstall_status = UNINSTALL_FAILED; | 1382 *uninstall_status = UNINSTALL_FAILED; |
1379 } | 1383 } |
1380 } | 1384 } |
1381 | 1385 |
1382 } // namespace installer | 1386 } // namespace installer |
OLD | NEW |