diff options
Diffstat (limited to 'chrome/installer/setup/install_worker.cc')
-rw-r--r-- | chrome/installer/setup/install_worker.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc index 74d9a8f..f7067c5 100644 --- a/chrome/installer/setup/install_worker.cc +++ b/chrome/installer/setup/install_worker.cc @@ -794,6 +794,26 @@ void AddInstallWorkItems(const InstallationState& original_state, temp_path); } + // For the component build to work with the installer, we need to drop a + // config file and a manifest by chrome.exe. These files are only found in + // the archive if this is a component build. +#if defined(COMPONENT_BUILD) + static const FilePath::CharType kChromeExeConfig[] = + FILE_PATH_LITERAL("chrome.exe.config"); + static const FilePath::CharType kChromeExeManifest[] = + FILE_PATH_LITERAL("chrome.exe.manifest"); + install_list->AddMoveTreeWorkItem( + src_path.Append(kChromeExeConfig).value(), + target_path.Append(kChromeExeConfig).value(), + temp_path.value(), + WorkItem::ALWAYS_MOVE); + install_list->AddMoveTreeWorkItem( + src_path.Append(kChromeExeManifest).value(), + target_path.Append(kChromeExeManifest).value(), + temp_path.value(), + WorkItem::ALWAYS_MOVE); +#endif // defined(COMPONENT_BUILD) + // In the past, we copied rather than moved for system level installs so that // the permissions of %ProgramFiles% would be picked up. Now that |temp_path| // is in %ProgramFiles% for system level installs (and in %LOCALAPPDATA% |