| 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 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 temp_path.value(), | 493 temp_path.value(), |
| 494 WorkItem::ALWAYS_MOVE); | 494 WorkItem::ALWAYS_MOVE); |
| 495 } else { | 495 } else { |
| 496 // We do not want to have an old VisualElementsManifest pointing to an old | 496 // We do not want to have an old VisualElementsManifest pointing to an old |
| 497 // version directory. Delete it as there wasn't a new one to replace it. | 497 // version directory. Delete it as there wasn't a new one to replace it. |
| 498 install_list->AddDeleteTreeWorkItem( | 498 install_list->AddDeleteTreeWorkItem( |
| 499 target_path.Append(installer::kVisualElementsManifest), | 499 target_path.Append(installer::kVisualElementsManifest), |
| 500 temp_path); | 500 temp_path); |
| 501 } | 501 } |
| 502 | 502 |
| 503 // For the component build to work with the installer, we need to also drop | |
| 504 // chrome.exe.manifest (other manifests are already contained in the version | |
| 505 // directory in the archive so no explicit work is required for them). | |
| 506 #if defined(COMPONENT_BUILD) | |
| 507 static const base::FilePath::CharType kChromeExeManifest[] = | |
| 508 FILE_PATH_LITERAL("chrome.exe.manifest"); | |
| 509 install_list->AddMoveTreeWorkItem( | |
| 510 src_path.Append(kChromeExeManifest).value(), | |
| 511 target_path.Append(kChromeExeManifest).value(), | |
| 512 temp_path.value(), | |
| 513 WorkItem::ALWAYS_MOVE); | |
| 514 #endif // defined(COMPONENT_BUILD) | |
| 515 | |
| 516 // In the past, we copied rather than moved for system level installs so that | 503 // In the past, we copied rather than moved for system level installs so that |
| 517 // the permissions of %ProgramFiles% would be picked up. Now that |temp_path| | 504 // the permissions of %ProgramFiles% would be picked up. Now that |temp_path| |
| 518 // is in %ProgramFiles% for system level installs (and in %LOCALAPPDATA% | 505 // is in %ProgramFiles% for system level installs (and in %LOCALAPPDATA% |
| 519 // otherwise), there is no need to do this. | 506 // otherwise), there is no need to do this. |
| 520 // Note that we pass true for check_duplicates to avoid failing on in-use | 507 // Note that we pass true for check_duplicates to avoid failing on in-use |
| 521 // repair runs if the current_version is the same as the new_version. | 508 // repair runs if the current_version is the same as the new_version. |
| 522 bool check_for_duplicates = (current_version && | 509 bool check_for_duplicates = (current_version && |
| 523 current_version->Equals(new_version)); | 510 current_version->Equals(new_version)); |
| 524 install_list->AddMoveTreeWorkItem( | 511 install_list->AddMoveTreeWorkItem( |
| 525 src_path.AppendASCII(new_version.GetString()).value(), | 512 src_path.AppendASCII(new_version.GetString()).value(), |
| (...skipping 931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1457 // Unconditionally remove the legacy Quick Enable command from the binaries. | 1444 // Unconditionally remove the legacy Quick Enable command from the binaries. |
| 1458 // Do this even if multi-install Chrome isn't installed to ensure that it is | 1445 // Do this even if multi-install Chrome isn't installed to ensure that it is |
| 1459 // not left behind in any case. | 1446 // not left behind in any case. |
| 1460 work_item_list->AddDeleteRegKeyWorkItem( | 1447 work_item_list->AddDeleteRegKeyWorkItem( |
| 1461 installer_state.root_key(), cmd_key)->set_log_message( | 1448 installer_state.root_key(), cmd_key)->set_log_message( |
| 1462 "removing " + WideToASCII(kCmdQuickEnableCf) + " command"); | 1449 "removing " + WideToASCII(kCmdQuickEnableCf) + " command"); |
| 1463 | 1450 |
| 1464 } | 1451 } |
| 1465 | 1452 |
| 1466 } // namespace installer | 1453 } // namespace installer |
| OLD | NEW |