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

Side by Side Diff: chrome/installer/mini_installer/mini_installer.cc

Issue 2267003: Use different product IO for SxS in mini installer.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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/installer/mini_installer/chrome_frame_appid.cc ('k') | no next file » | 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) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-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 // mini_installer.exe is the first exe that is run when chrome is being 5 // mini_installer.exe is the first exe that is run when chrome is being
6 // installed or upgraded. It is designed to be extremely small (~5KB with no 6 // installed or upgraded. It is designed to be extremely small (~5KB with no
7 // extra resources linked) and it has two main jobs: 7 // extra resources linked) and it has two main jobs:
8 // 1) unpack the resources (possibly decompressing some) 8 // 1) unpack the resources (possibly decompressing some)
9 // 2) run the real installer (setup.exe) with appropiate flags. 9 // 2) run the real installer (setup.exe) with appropiate flags.
10 // 10 //
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 } 143 }
144 return false; 144 return false;
145 } 145 }
146 146
147 // This function sets the flag in registry to indicate that Google Update 147 // This function sets the flag in registry to indicate that Google Update
148 // should try full installer next time. If the current installer works, this 148 // should try full installer next time. If the current installer works, this
149 // flag is cleared by setup.exe at the end of install. 149 // flag is cleared by setup.exe at the end of install.
150 void SetFullInstallerFlag(HKEY root_key) { 150 void SetFullInstallerFlag(HKEY root_key) {
151 HKEY key; 151 HKEY key;
152 wchar_t ap_registry_key[128]; 152 wchar_t ap_registry_key[128];
153 const wchar_t* app_guid = google_update::kAppGuid;
154
155 int args_num;
156 wchar_t* cmd_line = ::GetCommandLine();
157 wchar_t** args = ::CommandLineToArgvW(cmd_line, &args_num);
158 for (int i = 1; i < args_num; ++i) {
159 if (0 == ::lstrcmpi(args[i], L"--chrome-sxs"))
160 app_guid = google_update::kSxSAppGuid;
161 }
162
153 if (!SafeStrCopy(ap_registry_key, _countof(ap_registry_key), 163 if (!SafeStrCopy(ap_registry_key, _countof(ap_registry_key),
154 kApRegistryKeyBase) || 164 kApRegistryKeyBase) ||
155 !SafeStrCat(ap_registry_key, _countof(ap_registry_key), 165 !SafeStrCat(ap_registry_key, _countof(ap_registry_key),
156 google_update::kAppGuid)) { 166 app_guid)) {
157 return; 167 return;
158 } 168 }
159 if (::RegOpenKeyEx(root_key, ap_registry_key, NULL, 169 if (::RegOpenKeyEx(root_key, ap_registry_key, NULL,
160 KEY_READ | KEY_SET_VALUE, &key) != ERROR_SUCCESS) 170 KEY_READ | KEY_SET_VALUE, &key) != ERROR_SUCCESS)
161 return; 171 return;
162 172
163 wchar_t value[128]; 173 wchar_t value[128];
164 size_t size = _countof(value); 174 size_t size = _countof(value);
165 size_t buf_size = size; 175 size_t buf_size = size;
166 LONG ret = ::RegQueryValueEx(key, kApRegistryValueName, NULL, NULL, 176 LONG ret = ::RegQueryValueEx(key, kApRegistryValueName, NULL, NULL,
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 549
540 return exit_code; 550 return exit_code;
541 } 551 }
542 } // namespace mini_installer 552 } // namespace mini_installer
543 553
544 554
545 int MainEntryPoint() { 555 int MainEntryPoint() {
546 int result = mini_installer::WMain(::GetModuleHandle(NULL)); 556 int result = mini_installer::WMain(::GetModuleHandle(NULL));
547 ::ExitProcess(result); 557 ::ExitProcess(result);
548 } 558 }
OLDNEW
« no previous file with comments | « chrome/installer/mini_installer/chrome_frame_appid.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698