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 |
11 #include <atlsecurity.h> | 11 #include <atlsecurity.h> |
12 #include <oaidl.h> | 12 #include <oaidl.h> |
13 #include <shlobj.h> | 13 #include <shlobj.h> |
14 #include <stddef.h> | 14 #include <stddef.h> |
15 #include <stdint.h> | 15 #include <stdint.h> |
16 #include <time.h> | 16 #include <time.h> |
17 | 17 |
18 #include <memory> | 18 #include <memory> |
19 #include <vector> | 19 #include <vector> |
20 | 20 |
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/installer/setup/installer_state.h" | 31 #include "chrome/installer/setup/installer_state.h" |
31 #include "chrome/installer/setup/persistent_histogram_storage.h" | 32 #include "chrome/installer/setup/persistent_histogram_storage.h" |
32 #include "chrome/installer/setup/setup_constants.h" | 33 #include "chrome/installer/setup/setup_constants.h" |
33 #include "chrome/installer/setup/setup_util.h" | 34 #include "chrome/installer/setup/setup_util.h" |
34 #include "chrome/installer/setup/update_active_setup_version_work_item.h" | 35 #include "chrome/installer/setup/update_active_setup_version_work_item.h" |
35 #include "chrome/installer/util/app_registration_data.h" | 36 #include "chrome/installer/util/app_registration_data.h" |
36 #include "chrome/installer/util/browser_distribution.h" | 37 #include "chrome/installer/util/browser_distribution.h" |
37 #include "chrome/installer/util/callback_work_item.h" | 38 #include "chrome/installer/util/callback_work_item.h" |
38 #include "chrome/installer/util/conditional_work_item_list.h" | 39 #include "chrome/installer/util/conditional_work_item_list.h" |
39 #include "chrome/installer/util/create_reg_key_work_item.h" | 40 #include "chrome/installer/util/create_reg_key_work_item.h" |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 return false; | 329 return false; |
329 } | 330 } |
330 | 331 |
331 return true; | 332 return true; |
332 } | 333 } |
333 | 334 |
334 // Migrates consent for the collection of usage statistics from the binaries to | 335 // Migrates consent for the collection of usage statistics from the binaries to |
335 // Chrome when migrating multi-install Chrome to single-install. | 336 // Chrome when migrating multi-install Chrome to single-install. |
336 void AddMigrateUsageStatsWorkItems(const InstallerState& installer_state, | 337 void AddMigrateUsageStatsWorkItems(const InstallerState& installer_state, |
337 WorkItemList* install_list) { | 338 WorkItemList* install_list) { |
338 // This operation doesn't apply to SxS Chrome. | 339 // This operation only applies to modes that once supported multi-install. |
339 if (InstallUtil::IsChromeSxSProcess()) | 340 if (install_static::InstallDetails::Get().supported_multi_install()) |
340 return; | 341 return; |
341 | 342 |
342 // Bail out if an existing multi-install Chrome is not being migrated to | 343 // Bail out if an existing multi-install Chrome is not being migrated to |
343 // single-install. | 344 // single-install. |
344 if (!installer_state.is_migrating_to_single()) | 345 if (!installer_state.is_migrating_to_single()) |
345 return; | 346 return; |
346 | 347 |
347 // Nothing to do if the binaries aren't actually installed. | 348 // Nothing to do if the binaries aren't actually installed. |
348 if (!AreBinariesInstalled(installer_state)) | 349 if (!AreBinariesInstalled(installer_state)) |
349 return; | 350 return; |
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
897 // Log everything for now. | 898 // Log everything for now. |
898 cmd_line.AppendSwitch(installer::switches::kVerboseLogging); | 899 cmd_line.AppendSwitch(installer::switches::kVerboseLogging); |
899 | 900 |
900 AppCommand cmd(cmd_line.GetCommandLineString()); | 901 AppCommand cmd(cmd_line.GetCommandLineString()); |
901 cmd.set_is_auto_run_on_os_upgrade(true); | 902 cmd.set_is_auto_run_on_os_upgrade(true); |
902 cmd.AddWorkItems(installer_state.root_key(), cmd_key, install_list); | 903 cmd.AddWorkItems(installer_state.root_key(), cmd_key, install_list); |
903 } | 904 } |
904 } | 905 } |
905 | 906 |
906 } // namespace installer | 907 } // namespace installer |
OLD | NEW |