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 contains the definitions of the installer functions that build | 5 // This file contains the definitions of the installer functions that build |
6 // the WorkItemList used to install the application. | 6 // the WorkItemList used to install the application. |
7 | 7 |
8 #include "chrome/installer/setup/install_worker.h" | 8 #include "chrome/installer/setup/install_worker.h" |
9 | 9 |
10 #include <oaidl.h> | 10 #include <oaidl.h> |
(...skipping 22 matching lines...) Expand all Loading... | |
33 #include "chrome/installer/setup/app_launcher_installer.h" | 33 #include "chrome/installer/setup/app_launcher_installer.h" |
34 #include "chrome/installer/setup/install.h" | 34 #include "chrome/installer/setup/install.h" |
35 #include "chrome/installer/setup/setup_constants.h" | 35 #include "chrome/installer/setup/setup_constants.h" |
36 #include "chrome/installer/setup/setup_util.h" | 36 #include "chrome/installer/setup/setup_util.h" |
37 #include "chrome/installer/setup/update_active_setup_version_work_item.h" | 37 #include "chrome/installer/setup/update_active_setup_version_work_item.h" |
38 #include "chrome/installer/util/app_registration_data.h" | 38 #include "chrome/installer/util/app_registration_data.h" |
39 #include "chrome/installer/util/browser_distribution.h" | 39 #include "chrome/installer/util/browser_distribution.h" |
40 #include "chrome/installer/util/callback_work_item.h" | 40 #include "chrome/installer/util/callback_work_item.h" |
41 #include "chrome/installer/util/conditional_work_item_list.h" | 41 #include "chrome/installer/util/conditional_work_item_list.h" |
42 #include "chrome/installer/util/create_reg_key_work_item.h" | 42 #include "chrome/installer/util/create_reg_key_work_item.h" |
43 #include "chrome/installer/util/delete_old_versions.h" | |
43 #include "chrome/installer/util/firewall_manager_win.h" | 44 #include "chrome/installer/util/firewall_manager_win.h" |
44 #include "chrome/installer/util/google_update_constants.h" | 45 #include "chrome/installer/util/google_update_constants.h" |
45 #include "chrome/installer/util/helper.h" | 46 #include "chrome/installer/util/helper.h" |
46 #include "chrome/installer/util/install_util.h" | 47 #include "chrome/installer/util/install_util.h" |
47 #include "chrome/installer/util/installation_state.h" | 48 #include "chrome/installer/util/installation_state.h" |
48 #include "chrome/installer/util/installer_state.h" | 49 #include "chrome/installer/util/installer_state.h" |
49 #include "chrome/installer/util/l10n_string_util.h" | 50 #include "chrome/installer/util/l10n_string_util.h" |
50 #include "chrome/installer/util/product.h" | 51 #include "chrome/installer/util/product.h" |
51 #include "chrome/installer/util/set_reg_value_work_item.h" | 52 #include "chrome/installer/util/set_reg_value_work_item.h" |
52 #include "chrome/installer/util/shell_util.h" | 53 #include "chrome/installer/util/shell_util.h" |
(...skipping 948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1001 regular_update_work_items->AddDeleteRegValueWorkItem( | 1002 regular_update_work_items->AddDeleteRegValueWorkItem( |
1002 root, | 1003 root, |
1003 version_key, | 1004 version_key, |
1004 KEY_WOW64_32KEY, | 1005 KEY_WOW64_32KEY, |
1005 google_update::kRegRenameCmdField); | 1006 google_update::kRegRenameCmdField); |
1006 } | 1007 } |
1007 | 1008 |
1008 post_install_task_list->AddWorkItem(regular_update_work_items.release()); | 1009 post_install_task_list->AddWorkItem(regular_update_work_items.release()); |
1009 } | 1010 } |
1010 | 1011 |
1012 // If this is a regular update (chrome.exe not in use), this step will try to | |
1013 // delete files from all versions except the one that was just installed. | |
1014 // Otherwise, it will try to delete files from all versions except the one | |
1015 // that is in use and the one that was just installed. | |
1016 // | |
1017 // TODO(fdoray): Launch a cleanup process if this fails during a regular | |
1018 // update. crbug.com/451546 | |
1019 AddDeleteOldVersionsWorkItem(installer_state, post_install_task_list) | |
1020 ->set_ignore_failure(true); | |
grt (UTC plus 2)
2016/02/25 19:25:40
is it reasonable to do this in the Add function? i
fdoray
2016/02/26 17:00:05
Done. In my previous patch, I didn't to it inside
| |
1021 | |
1011 AddRegisterComDllWorkItemsForPackage(installer_state, current_version, | 1022 AddRegisterComDllWorkItemsForPackage(installer_state, current_version, |
1012 new_version, post_install_task_list); | 1023 new_version, post_install_task_list); |
1013 | 1024 |
1014 // If we're told that we're an MSI install, make sure to set the marker | 1025 // If we're told that we're an MSI install, make sure to set the marker |
1015 // in the client state key so that future updates do the right thing. | 1026 // in the client state key so that future updates do the right thing. |
1016 if (installer_state.is_msi()) { | 1027 if (installer_state.is_msi()) { |
1017 for (size_t i = 0; i < products.size(); ++i) { | 1028 for (size_t i = 0; i < products.size(); ++i) { |
1018 const Product* product = products[i]; | 1029 const Product* product = products[i]; |
1019 AddSetMsiMarkerWorkItem(installer_state, product->distribution(), true, | 1030 AddSetMsiMarkerWorkItem(installer_state, product->distribution(), true, |
1020 post_install_task_list); | 1031 post_install_task_list); |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1354 // Unconditionally remove the legacy Quick Enable command from the binaries. | 1365 // Unconditionally remove the legacy Quick Enable command from the binaries. |
1355 // Do this even if multi-install Chrome isn't installed to ensure that it is | 1366 // Do this even if multi-install Chrome isn't installed to ensure that it is |
1356 // not left behind in any case. | 1367 // not left behind in any case. |
1357 work_item_list->AddDeleteRegKeyWorkItem( | 1368 work_item_list->AddDeleteRegKeyWorkItem( |
1358 installer_state.root_key(), cmd_key, KEY_WOW64_32KEY) | 1369 installer_state.root_key(), cmd_key, KEY_WOW64_32KEY) |
1359 ->set_log_message("removing " + base::UTF16ToASCII(kCmdQuickEnableCf) + | 1370 ->set_log_message("removing " + base::UTF16ToASCII(kCmdQuickEnableCf) + |
1360 " command"); | 1371 " command"); |
1361 } | 1372 } |
1362 | 1373 |
1363 } // namespace installer | 1374 } // namespace installer |
OLD | NEW |