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 #include "chrome/installer/setup/setup_main.h" | 5 #include "chrome/installer/setup/setup_main.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <msi.h> | 8 #include <msi.h> |
9 #include <shellapi.h> | 9 #include <shellapi.h> |
10 #include <shlobj.h> | 10 #include <shlobj.h> |
| 11 #include <stddef.h> |
| 12 #include <stdint.h> |
11 | 13 |
12 #include <string> | 14 #include <string> |
13 | 15 |
14 #include "base/at_exit.h" | 16 #include "base/at_exit.h" |
15 #include "base/basictypes.h" | |
16 #include "base/command_line.h" | 17 #include "base/command_line.h" |
17 #include "base/file_version_info.h" | 18 #include "base/file_version_info.h" |
18 #include "base/files/file_path.h" | 19 #include "base/files/file_path.h" |
19 #include "base/files/file_util.h" | 20 #include "base/files/file_util.h" |
20 #include "base/files/scoped_temp_dir.h" | 21 #include "base/files/scoped_temp_dir.h" |
| 22 #include "base/macros.h" |
21 #include "base/memory/scoped_ptr.h" | 23 #include "base/memory/scoped_ptr.h" |
22 #include "base/path_service.h" | 24 #include "base/path_service.h" |
23 #include "base/process/launch.h" | 25 #include "base/process/launch.h" |
24 #include "base/process/memory.h" | 26 #include "base/process/memory.h" |
25 #include "base/strings/string16.h" | 27 #include "base/strings/string16.h" |
26 #include "base/strings/string_number_conversions.h" | 28 #include "base/strings/string_number_conversions.h" |
27 #include "base/strings/string_util.h" | 29 #include "base/strings/string_util.h" |
28 #include "base/strings/stringprintf.h" | 30 #include "base/strings/stringprintf.h" |
29 #include "base/strings/utf_string_conversions.h" | 31 #include "base/strings/utf_string_conversions.h" |
30 #include "base/values.h" | 32 #include "base/values.h" |
(...skipping 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1438 installer_version(GetMaxVersionFromArchiveDir(src_path)); | 1440 installer_version(GetMaxVersionFromArchiveDir(src_path)); |
1439 if (!installer_version.get()) { | 1441 if (!installer_version.get()) { |
1440 LOG(ERROR) << "Did not find any valid version in installer."; | 1442 LOG(ERROR) << "Did not find any valid version in installer."; |
1441 install_status = INVALID_ARCHIVE; | 1443 install_status = INVALID_ARCHIVE; |
1442 installer_state.WriteInstallerResult(install_status, | 1444 installer_state.WriteInstallerResult(install_status, |
1443 IDS_INSTALL_INVALID_ARCHIVE_BASE, NULL); | 1445 IDS_INSTALL_INVALID_ARCHIVE_BASE, NULL); |
1444 } else { | 1446 } else { |
1445 VLOG(1) << "version to install: " << installer_version->GetString(); | 1447 VLOG(1) << "version to install: " << installer_version->GetString(); |
1446 bool proceed_with_installation = true; | 1448 bool proceed_with_installation = true; |
1447 | 1449 |
1448 uint32 higher_products = 0; | 1450 uint32_t higher_products = 0; |
1449 static_assert(sizeof(higher_products) * 8 > BrowserDistribution::NUM_TYPES, | 1451 static_assert(sizeof(higher_products) * 8 > BrowserDistribution::NUM_TYPES, |
1450 "too many distribution types"); | 1452 "too many distribution types"); |
1451 const Products& products = installer_state.products(); | 1453 const Products& products = installer_state.products(); |
1452 for (Products::const_iterator it = products.begin(); it < products.end(); | 1454 for (Products::const_iterator it = products.begin(); it < products.end(); |
1453 ++it) { | 1455 ++it) { |
1454 const Product& product = **it; | 1456 const Product& product = **it; |
1455 const ProductState* product_state = | 1457 const ProductState* product_state = |
1456 original_state.GetProductState(system_install, | 1458 original_state.GetProductState(system_install, |
1457 product.distribution()->GetType()); | 1459 product.distribution()->GetType()); |
1458 if (product_state != NULL && | 1460 if (product_state != NULL && |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1773 // Note that we allow the status installer::UNINSTALL_REQUIRES_REBOOT | 1775 // Note that we allow the status installer::UNINSTALL_REQUIRES_REBOOT |
1774 // to pass through, since this is only returned on uninstall which is | 1776 // to pass through, since this is only returned on uninstall which is |
1775 // never invoked directly by Google Update. | 1777 // never invoked directly by Google Update. |
1776 return_code = InstallUtil::GetInstallReturnCode(install_status); | 1778 return_code = InstallUtil::GetInstallReturnCode(install_status); |
1777 } | 1779 } |
1778 | 1780 |
1779 VLOG(1) << "Installation complete, returning: " << return_code; | 1781 VLOG(1) << "Installation complete, returning: " << return_code; |
1780 | 1782 |
1781 return return_code; | 1783 return return_code; |
1782 } | 1784 } |
OLD | NEW |