Chromium Code Reviews| Index: chrome/installer/setup/setup_main.cc |
| diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc |
| index 114bdd4484c66fc7931c7be8cb248f340b412077..e68f3c51496180e8b8731586d96a07bebdeafa32 100644 |
| --- a/chrome/installer/setup/setup_main.cc |
| +++ b/chrome/installer/setup/setup_main.cc |
| @@ -87,8 +87,9 @@ DWORD UnPackArchive(const std::wstring& archive, bool system_install, |
| installed_version->GetString()); |
| file_util::AppendToPath(&existing_archive, installer_util::kInstallerDir); |
| file_util::AppendToPath(&existing_archive, installer::kChromeArchive); |
| - if (int i = setup_util::ApplyDiffPatch(existing_archive, unpacked_file, |
| - uncompressed_archive)) { |
| + if (int i = setup_util::ApplyDiffPatch(FilePath(existing_archive), |
| + FilePath(unpacked_file), |
| + FilePath(uncompressed_archive))) { |
| LOG(ERROR) << "Binary patching failed with error " << i; |
| return i; |
| } |
| @@ -227,16 +228,16 @@ installer_util::InstallStatus InstallChrome(const CommandLine& cmd_line, |
| // For install the default location for chrome.packed.7z is in current |
| // folder, so get that value first. |
| - std::wstring archive = file_util::GetDirectoryFromPath(cmd_line.program()); |
| - file_util::AppendToPath(&archive, |
| - std::wstring(installer::kChromeCompressedArchive)); |
| + FilePath archive = |
|
viettrungluu
2010/10/14 19:51:27
Probably the way to break this line (to be consist
|
| + cmd_line.GetProgram().DirName() |
| + .Append(installer::kChromeCompressedArchive); |
| // If --install-archive is given, get the user specified value |
| if (cmd_line.HasSwitch(installer_util::switches::kInstallArchive)) { |
| - archive = cmd_line.GetSwitchValueNative( |
| + archive = cmd_line.GetSwitchValuePath( |
| installer_util::switches::kInstallArchive); |
| } |
| - LOG(INFO) << "Archive found to install Chrome " << archive; |
| + LOG(INFO) << "Archive found to install Chrome " << archive.value(); |
| // Create a temp folder where we will unpack Chrome archive. If it fails, |
| // then we are doomed, so return immediately and no cleanup is required. |
| @@ -256,7 +257,7 @@ installer_util::InstallStatus InstallChrome(const CommandLine& cmd_line, |
| file_util::AppendToPath(&unpack_path, |
| std::wstring(installer::kInstallSourceDir)); |
| bool incremental_install = false; |
| - if (UnPackArchive(archive, system_level, installed_version, |
| + if (UnPackArchive(archive.value(), system_level, installed_version, |
| temp_path.ToWStringHack(), unpack_path, |
| incremental_install)) { |
| install_status = installer_util::UNCOMPRESSION_FAILED; |
| @@ -269,7 +270,7 @@ installer_util::InstallStatus InstallChrome(const CommandLine& cmd_line, |
| file_util::AppendToPath(&src_path, |
| std::wstring(installer::kInstallSourceChromeDir)); |
| scoped_ptr<installer::Version> |
| - installer_version(setup_util::GetVersionFromDir(src_path)); |
| + installer_version(setup_util::GetVersionFromDir(FilePath(src_path))); |
| if (!installer_version.get()) { |
| LOG(ERROR) << "Did not find any valid version in installer."; |
| install_status = installer_util::INVALID_ARCHIVE; |
| @@ -287,12 +288,12 @@ installer_util::InstallStatus InstallChrome(const CommandLine& cmd_line, |
| } else { |
| // We want to keep uncompressed archive (chrome.7z) that we get after |
| // uncompressing and binary patching. Get the location for this file. |
| - std::wstring archive_to_copy(temp_path.ToWStringHack()); |
| - file_util::AppendToPath(&archive_to_copy, installer::kChromeArchive); |
| + FilePath archive_to_copy = temp_path.Append(installer::kChromeArchive); |
| std::wstring prefs_source_path = cmd_line.GetSwitchValueNative( |
| installer_util::switches::kInstallerData); |
| install_status = installer::InstallOrUpdateChrome( |
| - cmd_line.program(), archive_to_copy, temp_path.ToWStringHack(), |
| + cmd_line.GetProgram().value(), archive_to_copy.value(), |
| + temp_path.ToWStringHack(), |
| prefs_source_path, prefs, *installer_version, installed_version); |
| int install_msg_base = IDS_INSTALL_FAILED_BASE; |
| @@ -398,7 +399,8 @@ installer_util::InstallStatus UninstallChrome(const CommandLine& cmd_line, |
| bool remove_all = !cmd_line.HasSwitch( |
| installer_util::switches::kDoNotRemoveSharedItems); |
| - return installer_setup::UninstallChrome(cmd_line.program(), system_install, |
| + return installer_setup::UninstallChrome(cmd_line.GetProgram().value(), |
| + system_install, |
| remove_all, force, |
| cmd_line, cmd_params); |
| } |
| @@ -454,10 +456,11 @@ bool HandleNonInstallCmdLineOptions(const CommandLine& cmd_line, |
| std::wstring uncompressed_patch; |
| if (LzmaUtil::UnPackArchive(setup_patch, temp_path.ToWStringHack(), |
| &uncompressed_patch) == NO_ERROR) { |
| - std::wstring old_setup_exe = cmd_line.program(); |
| - std::wstring new_setup_exe = cmd_line.GetSwitchValueNative( |
| + FilePath old_setup_exe = cmd_line.GetProgram(); |
| + FilePath new_setup_exe = cmd_line.GetSwitchValuePath( |
| installer_util::switches::kNewSetupExe); |
| - if (!setup_util::ApplyDiffPatch(old_setup_exe, uncompressed_patch, |
| + if (!setup_util::ApplyDiffPatch(old_setup_exe, |
| + FilePath(uncompressed_patch), |
| new_setup_exe)) |
| status = installer_util::NEW_VERSION_UPDATED; |
| } |
| @@ -676,7 +679,7 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance, |
| if (system_install && !IsUserAnAdmin()) { |
| if (win_util::GetWinVersion() >= win_util::WINVERSION_VISTA && |
| !parsed_command_line.HasSwitch(installer_util::switches::kRunAsAdmin)) { |
| - std::wstring exe = parsed_command_line.program(); |
| + std::wstring exe = parsed_command_line.GetProgram().value(); |
| std::wstring params(command_line); |
| // Append --run-as-admin flag to let the new instance of setup.exe know |
| // that we already tried to launch ourselves as admin. |