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

Side by Side Diff: chrome/browser/first_run/first_run_win.cc

Issue 5729004: Merge the installer, installer_util and setup_util namespaces into a single i... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/browser/first_run/first_run.h" 5 #include "chrome/browser/first_run/first_run.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 #include <shlobj.h> 9 #include <shlobj.h>
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 #include "views/standard_layout.h" 58 #include "views/standard_layout.h"
59 #include "views/widget/root_view.h" 59 #include "views/widget/root_view.h"
60 #include "views/widget/widget_win.h" 60 #include "views/widget/widget_win.h"
61 #include "views/window/window.h" 61 #include "views/window/window.h"
62 62
63 namespace { 63 namespace {
64 64
65 bool GetNewerChromeFile(FilePath* path) { 65 bool GetNewerChromeFile(FilePath* path) {
66 if (!PathService::Get(base::DIR_EXE, path)) 66 if (!PathService::Get(base::DIR_EXE, path))
67 return false; 67 return false;
68 *path = path->Append(installer_util::kChromeNewExe); 68 *path = path->Append(installer::kChromeNewExe);
69 return true; 69 return true;
70 } 70 }
71 71
72 bool InvokeGoogleUpdateForRename() { 72 bool InvokeGoogleUpdateForRename() {
73 ScopedComPtr<IProcessLauncher> ipl; 73 ScopedComPtr<IProcessLauncher> ipl;
74 if (!FAILED(ipl.CreateInstance(__uuidof(ProcessLauncherClass)))) { 74 if (!FAILED(ipl.CreateInstance(__uuidof(ProcessLauncherClass)))) {
75 ULONG_PTR phandle = NULL; 75 ULONG_PTR phandle = NULL;
76 DWORD id = GetCurrentProcessId(); 76 DWORD id = GetCurrentProcessId();
77 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); 77 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
78 if (!FAILED(ipl->LaunchCmdElevated(dist->GetAppGuid().c_str(), 78 if (!FAILED(ipl->LaunchCmdElevated(dist->GetAppGuid().c_str(),
79 google_update::kRegRenameCmdField, 79 google_update::kRegRenameCmdField,
80 id, &phandle))) { 80 id, &phandle))) {
81 HANDLE handle = HANDLE(phandle); 81 HANDLE handle = HANDLE(phandle);
82 WaitForSingleObject(handle, INFINITE); 82 WaitForSingleObject(handle, INFINITE);
83 DWORD exit_code; 83 DWORD exit_code;
84 ::GetExitCodeProcess(handle, &exit_code); 84 ::GetExitCodeProcess(handle, &exit_code);
85 ::CloseHandle(handle); 85 ::CloseHandle(handle);
86 if (exit_code == installer_util::RENAME_SUCCESSFUL) 86 if (exit_code == installer::RENAME_SUCCESSFUL)
87 return true; 87 return true;
88 } 88 }
89 } 89 }
90 return false; 90 return false;
91 } 91 }
92 92
93 bool LaunchSetupWithParam(const std::string& param, const std::wstring& value, 93 bool LaunchSetupWithParam(const std::string& param, const std::wstring& value,
94 int* ret_code) { 94 int* ret_code) {
95 FilePath exe_path; 95 FilePath exe_path;
96 if (!PathService::Get(base::DIR_MODULE, &exe_path)) 96 if (!PathService::Get(base::DIR_MODULE, &exe_path))
97 return false; 97 return false;
98 exe_path = exe_path.Append(installer_util::kInstallerDir); 98 exe_path = exe_path.Append(installer::kInstallerDir);
99 exe_path = exe_path.Append(installer_util::kSetupExe); 99 exe_path = exe_path.Append(installer::kSetupExe);
100 base::ProcessHandle ph; 100 base::ProcessHandle ph;
101 CommandLine cl(exe_path); 101 CommandLine cl(exe_path);
102 cl.AppendSwitchNative(param, value); 102 cl.AppendSwitchNative(param, value);
103 103
104 CommandLine* browser_command_line = CommandLine::ForCurrentProcess(); 104 CommandLine* browser_command_line = CommandLine::ForCurrentProcess();
105 if (browser_command_line->HasSwitch(switches::kChromeFrame)) { 105 if (browser_command_line->HasSwitch(switches::kChromeFrame)) {
106 cl.AppendSwitch(switches::kChromeFrame); 106 cl.AppendSwitch(switches::kChromeFrame);
107 } 107 }
108 108
109 if (!base::LaunchApp(cl, false, false, &ph)) 109 if (!base::LaunchApp(cl, false, false, &ph))
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 }; 173 };
174 174
175 } // namespace 175 } // namespace
176 176
177 bool FirstRun::LaunchSetupWithParam(const std::string& param, 177 bool FirstRun::LaunchSetupWithParam(const std::string& param,
178 const std::wstring& value, 178 const std::wstring& value,
179 int* ret_code) { 179 int* ret_code) {
180 FilePath exe_path; 180 FilePath exe_path;
181 if (!PathService::Get(base::DIR_MODULE, &exe_path)) 181 if (!PathService::Get(base::DIR_MODULE, &exe_path))
182 return false; 182 return false;
183 exe_path = exe_path.Append(installer_util::kInstallerDir); 183 exe_path = exe_path.Append(installer::kInstallerDir);
184 exe_path = exe_path.Append(installer_util::kSetupExe); 184 exe_path = exe_path.Append(installer::kSetupExe);
185 base::ProcessHandle ph; 185 base::ProcessHandle ph;
186 CommandLine cl(exe_path); 186 CommandLine cl(exe_path);
187 cl.AppendSwitchNative(param, value); 187 cl.AppendSwitchNative(param, value);
188 188
189 CommandLine* browser_command_line = CommandLine::ForCurrentProcess(); 189 CommandLine* browser_command_line = CommandLine::ForCurrentProcess();
190 if (browser_command_line->HasSwitch(switches::kChromeFrame)) { 190 if (browser_command_line->HasSwitch(switches::kChromeFrame)) {
191 cl.AppendSwitch(switches::kChromeFrame); 191 cl.AppendSwitch(switches::kChromeFrame);
192 } 192 }
193 193
194 if (!base::LaunchApp(cl, false, false, &ph)) 194 if (!base::LaunchApp(cl, false, false, &ph))
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 BrowserDistribution *dist = BrowserDistribution::GetDistribution(); 279 BrowserDistribution *dist = BrowserDistribution::GetDistribution();
280 base::win::RegKey key; 280 base::win::RegKey key;
281 std::wstring rename_cmd; 281 std::wstring rename_cmd;
282 if (key.Open(reg_root, dist->GetVersionKey().c_str(), KEY_READ) && 282 if (key.Open(reg_root, dist->GetVersionKey().c_str(), KEY_READ) &&
283 key.ReadValue(google_update::kRegRenameCmdField, &rename_cmd)) { 283 key.ReadValue(google_update::kRegRenameCmdField, &rename_cmd)) {
284 base::ProcessHandle handle; 284 base::ProcessHandle handle;
285 if (base::LaunchApp(rename_cmd, true, true, &handle)) { 285 if (base::LaunchApp(rename_cmd, true, true, &handle)) {
286 DWORD exit_code; 286 DWORD exit_code;
287 ::GetExitCodeProcess(handle, &exit_code); 287 ::GetExitCodeProcess(handle, &exit_code);
288 ::CloseHandle(handle); 288 ::CloseHandle(handle);
289 if (exit_code == installer_util::RENAME_SUCCESSFUL) 289 if (exit_code == installer::RENAME_SUCCESSFUL)
290 return true; 290 return true;
291 } 291 }
292 } 292 }
293 293
294 // Rename didn't work so try to rename by calling Google Update 294 // Rename didn't work so try to rename by calling Google Update
295 return InvokeGoogleUpdateForRename(); 295 return InvokeGoogleUpdateForRename();
296 } 296 }
297 297
298 // static 298 // static
299 bool Upgrade::DoUpgradeTasks(const CommandLine& command_line) { 299 bool Upgrade::DoUpgradeTasks(const CommandLine& command_line) {
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 855
856 Upgrade::TryResult Upgrade::ShowTryChromeDialog(size_t version) { 856 Upgrade::TryResult Upgrade::ShowTryChromeDialog(size_t version) {
857 if (version > 10000) { 857 if (version > 10000) {
858 // This is a test value. We want to make sure we exercise 858 // This is a test value. We want to make sure we exercise
859 // returning this early. See EarlyReturnTest test harness. 859 // returning this early. See EarlyReturnTest test harness.
860 return Upgrade::TD_NOT_NOW; 860 return Upgrade::TD_NOT_NOW;
861 } 861 }
862 TryChromeDialog td(version); 862 TryChromeDialog td(version);
863 return td.ShowModal(); 863 return td.ShowModal();
864 } 864 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698