| 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 <windows.h> // NOLINT | 10 #include <windows.h> // NOLINT |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "base/bind.h" | 21 #include "base/bind.h" |
| 22 #include "base/command_line.h" | 22 #include "base/command_line.h" |
| 23 #include "base/files/file_path.h" | 23 #include "base/files/file_path.h" |
| 24 #include "base/files/file_util.h" | 24 #include "base/files/file_util.h" |
| 25 #include "base/logging.h" | 25 #include "base/logging.h" |
| 26 #include "base/strings/string_util.h" | 26 #include "base/strings/string_util.h" |
| 27 #include "base/strings/utf_string_conversions.h" | 27 #include "base/strings/utf_string_conversions.h" |
| 28 #include "base/version.h" | 28 #include "base/version.h" |
| 29 #include "base/win/registry.h" | 29 #include "base/win/registry.h" |
| 30 #include "chrome/install_static/install_details.h" | 30 #include "chrome/install_static/install_details.h" |
| 31 #include "chrome/install_static/install_modes.h" |
| 31 #include "chrome/install_static/install_util.h" | 32 #include "chrome/install_static/install_util.h" |
| 32 #include "chrome/installer/setup/installer_state.h" | 33 #include "chrome/installer/setup/installer_state.h" |
| 33 #include "chrome/installer/setup/persistent_histogram_storage.h" | 34 #include "chrome/installer/setup/persistent_histogram_storage.h" |
| 34 #include "chrome/installer/setup/setup_constants.h" | 35 #include "chrome/installer/setup/setup_constants.h" |
| 35 #include "chrome/installer/setup/setup_util.h" | 36 #include "chrome/installer/setup/setup_util.h" |
| 36 #include "chrome/installer/setup/update_active_setup_version_work_item.h" | 37 #include "chrome/installer/setup/update_active_setup_version_work_item.h" |
| 37 #include "chrome/installer/util/app_registration_data.h" | 38 #include "chrome/installer/util/app_registration_data.h" |
| 38 #include "chrome/installer/util/browser_distribution.h" | 39 #include "chrome/installer/util/browser_distribution.h" |
| 39 #include "chrome/installer/util/callback_work_item.h" | 40 #include "chrome/installer/util/callback_work_item.h" |
| 40 #include "chrome/installer/util/conditional_work_item_list.h" | 41 #include "chrome/installer/util/conditional_work_item_list.h" |
| (...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 652 AddSetMsiMarkerWorkItem(installer_state, product.distribution(), true, | 653 AddSetMsiMarkerWorkItem(installer_state, product.distribution(), true, |
| 653 post_install_task_list); | 654 post_install_task_list); |
| 654 | 655 |
| 655 // We want MSI installs to take over the Add/Remove Programs entry. Make a | 656 // We want MSI installs to take over the Add/Remove Programs entry. Make a |
| 656 // best-effort attempt to delete any entry left over from previous non-MSI | 657 // best-effort attempt to delete any entry left over from previous non-MSI |
| 657 // installations for the same type of install (system or per user). | 658 // installations for the same type of install (system or per user). |
| 658 AddDeleteUninstallEntryForMSIWorkItems(installer_state, product, | 659 AddDeleteUninstallEntryForMSIWorkItems(installer_state, product, |
| 659 post_install_task_list); | 660 post_install_task_list); |
| 660 } | 661 } |
| 661 | 662 |
| 663 // Add a best-effort item to create the ClientStateMedium key for system-level |
| 664 // installs. This is ordinarily done by Google Update prior to running |
| 665 // Chrome's installer. Do it here as well so that the key exists for manual |
| 666 // installs. |
| 667 if (install_static::kUseGoogleUpdateIntegration && |
| 668 installer_state.system_install()) { |
| 669 const base::string16 path = |
| 670 install_static::InstallDetails::Get().GetClientStateMediumKeyPath(); |
| 671 post_install_task_list |
| 672 ->AddCreateRegKeyWorkItem(HKEY_LOCAL_MACHINE, path, KEY_WOW64_32KEY) |
| 673 ->set_best_effort(true); |
| 674 } |
| 675 |
| 662 return true; | 676 return true; |
| 663 } | 677 } |
| 664 | 678 |
| 665 void AddInstallWorkItems(const InstallationState& original_state, | 679 void AddInstallWorkItems(const InstallationState& original_state, |
| 666 const InstallerState& installer_state, | 680 const InstallerState& installer_state, |
| 667 const base::FilePath& setup_path, | 681 const base::FilePath& setup_path, |
| 668 const base::FilePath& archive_path, | 682 const base::FilePath& archive_path, |
| 669 const base::FilePath& src_path, | 683 const base::FilePath& src_path, |
| 670 const base::FilePath& temp_path, | 684 const base::FilePath& temp_path, |
| 671 const base::Version* current_version, | 685 const base::Version* current_version, |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 882 // Log everything for now. | 896 // Log everything for now. |
| 883 cmd_line.AppendSwitch(installer::switches::kVerboseLogging); | 897 cmd_line.AppendSwitch(installer::switches::kVerboseLogging); |
| 884 | 898 |
| 885 AppCommand cmd(cmd_line.GetCommandLineString()); | 899 AppCommand cmd(cmd_line.GetCommandLineString()); |
| 886 cmd.set_is_auto_run_on_os_upgrade(true); | 900 cmd.set_is_auto_run_on_os_upgrade(true); |
| 887 cmd.AddWorkItems(installer_state.root_key(), cmd_key, install_list); | 901 cmd.AddWorkItems(installer_state.root_key(), cmd_key, install_list); |
| 888 } | 902 } |
| 889 } | 903 } |
| 890 | 904 |
| 891 } // namespace installer | 905 } // namespace installer |
| OLD | NEW |