Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: chrome/installer/setup/install.cc

Issue 280004: Revert wstring patch (r29078 and follow up commits). It is causing failures o... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/chrome_plugin_util.cc ('k') | chrome/installer/setup/setup_main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 <shlobj.h> 5 #include <shlobj.h>
6 #include <time.h> 6 #include <time.h>
7 7
8 #include "chrome/installer/setup/install.h" 8 #include "chrome/installer/setup/install.h"
9 9
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 L"InstallDate", 150 L"InstallDate",
151 buffer, false); 151 buffer, false);
152 } 152 }
153 } 153 }
154 154
155 // Copy master preferences file provided to installer, in the same folder 155 // Copy master preferences file provided to installer, in the same folder
156 // as chrome.exe so Chrome first run can find it. This function will be called 156 // as chrome.exe so Chrome first run can find it. This function will be called
157 // only on the first install of Chrome. 157 // only on the first install of Chrome.
158 void CopyPreferenceFileForFirstRun(bool system_level, 158 void CopyPreferenceFileForFirstRun(bool system_level,
159 const std::wstring& prefs_source_path) { 159 const std::wstring& prefs_source_path) {
160 FilePath prefs_dest_path = FilePath::FromWStringHack( 160 std::wstring prefs_dest_path(
161 installer::GetChromeInstallPath(system_level)); 161 installer::GetChromeInstallPath(system_level));
162 prefs_dest_path = prefs_dest_path.Append(installer_util::kDefaultMasterPrefs); 162 file_util::AppendToPath(&prefs_dest_path,
163 if (!file_util::CopyFile(FilePath::FromWStringHack(prefs_source_path), 163 installer_util::kDefaultMasterPrefs);
164 prefs_dest_path)) { 164 if (!file_util::CopyFile(prefs_source_path, prefs_dest_path))
165 LOG(INFO) << "Failed to copy master preferences."; 165 LOG(INFO) << "Failed to copy master preferences.";
166 }
167 } 166 }
168 167
169 // This method creates Chrome shortcuts in Start->Programs for all users or 168 // This method creates Chrome shortcuts in Start->Programs for all users or
170 // only for current user depending on whether it is system wide install or 169 // only for current user depending on whether it is system wide install or
171 // user only install. 170 // user only install.
172 // 171 //
173 // If first_install is true, it creates shortcuts for launching and 172 // If first_install is true, it creates shortcuts for launching and
174 // uninstalling chrome. 173 // uninstalling chrome.
175 // If first_install is false, the function only updates the shortcut for 174 // If first_install is false, the function only updates the shortcut for
176 // uninstalling chrome. According to 175 // uninstalling chrome. According to
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 // false. 297 // false.
299 bool DoPostInstallTasks(HKEY reg_root, 298 bool DoPostInstallTasks(HKEY reg_root,
300 const std::wstring& exe_path, 299 const std::wstring& exe_path,
301 const std::wstring& install_path, 300 const std::wstring& install_path,
302 const std::wstring& new_chrome_exe, 301 const std::wstring& new_chrome_exe,
303 const std::wstring& current_version, 302 const std::wstring& current_version,
304 const installer::Version& new_version) { 303 const installer::Version& new_version) {
305 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); 304 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
306 std::wstring version_key = dist->GetVersionKey(); 305 std::wstring version_key = dist->GetVersionKey();
307 306
308 if (file_util::PathExists(FilePath::FromWStringHack(new_chrome_exe))) { 307 if (file_util::PathExists(new_chrome_exe)) {
309 // Looks like this was in use update. So make sure we update the 'opv' key 308 // Looks like this was in use update. So make sure we update the 'opv' key
310 // with the current version that is active and 'cmd' key with the rename 309 // with the current version that is active and 'cmd' key with the rename
311 // command to run. 310 // command to run.
312 if (current_version.empty()) { 311 if (current_version.empty()) {
313 LOG(ERROR) << "New chrome.exe exists but current version is empty!"; 312 LOG(ERROR) << "New chrome.exe exists but current version is empty!";
314 return false; 313 return false;
315 } 314 }
316 scoped_ptr<WorkItemList> inuse_list(WorkItem::CreateWorkItemList()); 315 scoped_ptr<WorkItemList> inuse_list(WorkItem::CreateWorkItemList());
317 inuse_list->AddSetRegValueWorkItem(reg_root, 316 inuse_list->AddSetRegValueWorkItem(reg_root,
318 version_key, 317 version_key,
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 AppendPath(install_path, new_version.GetString()), 485 AppendPath(install_path, new_version.GetString()),
487 temp_dir); 486 temp_dir);
488 } 487 }
489 488
490 // Delete any new_chrome.exe if present (we will end up creating a new one 489 // Delete any new_chrome.exe if present (we will end up creating a new one
491 // if required) and then copy chrome.exe 490 // if required) and then copy chrome.exe
492 std::wstring new_chrome_exe = AppendPath(install_path, 491 std::wstring new_chrome_exe = AppendPath(install_path,
493 installer_util::kChromeNewExe); 492 installer_util::kChromeNewExe);
494 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); 493 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
495 RegKey chrome_key(reg_root, dist->GetVersionKey().c_str(), KEY_READ); 494 RegKey chrome_key(reg_root, dist->GetVersionKey().c_str(), KEY_READ);
496 if (file_util::PathExists(FilePath::FromWStringHack(new_chrome_exe))) 495 if (file_util::PathExists(new_chrome_exe))
497 chrome_key.ReadValue(google_update::kRegOldVersionField, current_version); 496 chrome_key.ReadValue(google_update::kRegOldVersionField, current_version);
498 if (current_version->empty()) 497 if (current_version->empty())
499 chrome_key.ReadValue(google_update::kRegVersionField, current_version); 498 chrome_key.ReadValue(google_update::kRegVersionField, current_version);
500 chrome_key.Close(); 499 chrome_key.Close();
501 500
502 install_list->AddDeleteTreeWorkItem(new_chrome_exe, std::wstring()); 501 install_list->AddDeleteTreeWorkItem(new_chrome_exe, std::wstring());
503 install_list->AddCopyTreeWorkItem( 502 install_list->AddCopyTreeWorkItem(
504 AppendPath(src_path, installer_util::kChromeExe), 503 AppendPath(src_path, installer_util::kChromeExe),
505 AppendPath(install_path, installer_util::kChromeExe), 504 AppendPath(install_path, installer_util::kChromeExe),
506 temp_dir, WorkItem::NEW_NAME_IF_IN_USE, new_chrome_exe); 505 temp_dir, WorkItem::NEW_NAME_IF_IN_USE, new_chrome_exe);
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 } 634 }
636 635
637 std::wstring latest_version_to_keep(new_version.GetString()); 636 std::wstring latest_version_to_keep(new_version.GetString());
638 if (!current_version.empty()) 637 if (!current_version.empty())
639 latest_version_to_keep.assign(current_version); 638 latest_version_to_keep.assign(current_version);
640 RemoveOldVersionDirs(install_path, latest_version_to_keep); 639 RemoveOldVersionDirs(install_path, latest_version_to_keep);
641 } 640 }
642 641
643 return result; 642 return result;
644 } 643 }
OLDNEW
« no previous file with comments | « chrome/common/chrome_plugin_util.cc ('k') | chrome/installer/setup/setup_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698