| Index: chrome/installer/setup/install_worker.cc
|
| ===================================================================
|
| --- chrome/installer/setup/install_worker.cc (revision 75264)
|
| +++ chrome/installer/setup/install_worker.cc (working copy)
|
| @@ -79,8 +79,8 @@
|
| // saved state instead of assuming it is the same as the registration list.
|
| if (!com_dll_list.empty()) {
|
| if (old_version) {
|
| - FilePath old_dll_path(installer_state.target_path().Append(
|
| - UTF8ToWide(old_version->GetString())));
|
| + FilePath old_dll_path(installer_state.target_path().AppendASCII(
|
| + old_version->GetString()));
|
|
|
| installer::AddRegisterComDllWorkItems(old_dll_path,
|
| com_dll_list,
|
| @@ -90,8 +90,8 @@
|
| work_item_list);
|
| }
|
|
|
| - FilePath dll_path(installer_state.target_path().Append(
|
| - UTF8ToWide(new_version.GetString())));
|
| + FilePath dll_path(installer_state.target_path().AppendASCII(
|
| + new_version.GetString()));
|
| installer::AddRegisterComDllWorkItems(dll_path,
|
| com_dll_list,
|
| installer_state.system_install(),
|
| @@ -363,6 +363,7 @@
|
| void AddDeleteUninstallShortcutsForMSIWorkItems(
|
| const InstallerState& installer_state,
|
| const Product& product,
|
| + const FilePath& temp_path,
|
| WorkItemList* work_item_list) {
|
| DCHECK(installer_state.is_msi())
|
| << "This must only be called for MSI installations!";
|
| @@ -393,7 +394,7 @@
|
| VLOG(1) << "Deleting old uninstall shortcut (if present): "
|
| << uninstall_link.value();
|
| WorkItem* delete_link = work_item_list->AddDeleteTreeWorkItem(
|
| - uninstall_link);
|
| + uninstall_link, temp_path);
|
| delete_link->set_ignore_failure(true);
|
| delete_link->set_log_message(
|
| "Failed to delete old uninstall shortcut.");
|
| @@ -414,6 +415,7 @@
|
| const FilePath& new_chrome_exe,
|
| const Version* current_version,
|
| const Version& new_version,
|
| + const FilePath& temp_path,
|
| WorkItemList* post_install_task_list) {
|
| DCHECK(post_install_task_list);
|
|
|
| @@ -519,6 +521,7 @@
|
| // previous non-MSI installations for the same type of install (system or
|
| // per user).
|
| AddDeleteUninstallShortcutsForMSIWorkItems(installer_state, *product,
|
| + temp_path,
|
| post_install_task_list);
|
| }
|
| if (installer_state.is_multi_install()) {
|
| @@ -536,7 +539,7 @@
|
| const FilePath& setup_path,
|
| const FilePath& archive_path,
|
| const FilePath& src_path,
|
| - const FilePath& temp_dir,
|
| + const FilePath& temp_path,
|
| const Version& new_version,
|
| scoped_ptr<Version>* current_version,
|
| WorkItemList* install_list) {
|
| @@ -545,7 +548,7 @@
|
| const FilePath& target_path = installer_state.target_path();
|
|
|
| // A temp directory that work items need and the actual install directory.
|
| - install_list->AddCreateDirWorkItem(temp_dir);
|
| + install_list->AddCreateDirWorkItem(temp_path);
|
| install_list->AddCreateDirWorkItem(target_path);
|
|
|
| // Delete any new_chrome.exe if present (we will end up creating a new one
|
| @@ -553,47 +556,47 @@
|
| FilePath new_chrome_exe(
|
| target_path.Append(installer::kChromeNewExe));
|
|
|
| - install_list->AddDeleteTreeWorkItem(new_chrome_exe);
|
| + install_list->AddDeleteTreeWorkItem(new_chrome_exe, temp_path);
|
| install_list->AddCopyTreeWorkItem(
|
| src_path.Append(installer::kChromeExe).value(),
|
| target_path.Append(installer::kChromeExe).value(),
|
| - temp_dir.value(), WorkItem::NEW_NAME_IF_IN_USE, new_chrome_exe.value());
|
| + temp_path.value(), WorkItem::NEW_NAME_IF_IN_USE, new_chrome_exe.value());
|
|
|
| // Extra executable for 64 bit systems.
|
| if (Is64bit()) {
|
| install_list->AddCopyTreeWorkItem(
|
| src_path.Append(installer::kWowHelperExe).value(),
|
| target_path.Append(installer::kWowHelperExe).value(),
|
| - temp_dir.value(), WorkItem::ALWAYS);
|
| + temp_path.value(), WorkItem::ALWAYS);
|
| }
|
|
|
| // If it is system level install copy the version folder (since we want to
|
| // take the permissions of %ProgramFiles% folder) otherwise just move it.
|
| if (installer_state.system_install()) {
|
| install_list->AddCopyTreeWorkItem(
|
| - src_path.Append(UTF8ToWide(new_version.GetString())).value(),
|
| - target_path.Append(UTF8ToWide(new_version.GetString())).value(),
|
| - temp_dir.value(), WorkItem::ALWAYS);
|
| + src_path.AppendASCII(new_version.GetString()).value(),
|
| + target_path.AppendASCII(new_version.GetString()).value(),
|
| + temp_path.value(), WorkItem::ALWAYS);
|
| } else {
|
| install_list->AddMoveTreeWorkItem(
|
| - src_path.Append(UTF8ToWide(new_version.GetString())).value(),
|
| - target_path.Append(UTF8ToWide(new_version.GetString())).value(),
|
| - temp_dir.value());
|
| + src_path.AppendASCII(new_version.GetString()).value(),
|
| + target_path.AppendASCII(new_version.GetString()).value(),
|
| + temp_path.value());
|
| }
|
|
|
| // Copy the default Dictionaries only if the folder doesn't exist already.
|
| install_list->AddCopyTreeWorkItem(
|
| src_path.Append(installer::kDictionaries).value(),
|
| target_path.Append(installer::kDictionaries).value(),
|
| - temp_dir.value(), WorkItem::IF_NOT_PRESENT);
|
| + temp_path.value(), WorkItem::IF_NOT_PRESENT);
|
|
|
| // Delete any old_chrome.exe if present.
|
| install_list->AddDeleteTreeWorkItem(
|
| - target_path.Append(installer::kChromeOldExe));
|
| + target_path.Append(installer::kChromeOldExe), temp_path);
|
|
|
| // Copy installer in install directory and
|
| // add shortcut in Control Panel->Add/Remove Programs.
|
| - AddInstallerCopyTasks(installer_state, setup_path, archive_path, temp_dir,
|
| + AddInstallerCopyTasks(installer_state, setup_path, archive_path, temp_path,
|
| new_version, install_list);
|
|
|
| const HKEY root = installer_state.root_key();
|
| @@ -628,6 +631,7 @@
|
| new_chrome_exe,
|
| current_version->get(),
|
| new_version,
|
| + temp_path,
|
| install_list);
|
| }
|
|
|
|
|