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

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

Issue 8785006: Badge Windows profile shortcuts with multi-user avatar. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Addressed rsesek's comments. Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/installer/setup/install.h" 5 #include "chrome/installer/setup/install.h"
6 6
7 #include <shlobj.h> 7 #include <shlobj.h>
8 #include <time.h> 8 #include <time.h>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 installer_state.target_path().Append(installer::kChromeExe)); 124 installer_state.target_path().Append(installer::kChromeExe));
125 125
126 if ((install_status == installer::FIRST_INSTALL_SUCCESS) || 126 if ((install_status == installer::FIRST_INSTALL_SUCCESS) ||
127 (install_status == installer::INSTALL_REPAIRED)) { 127 (install_status == installer::INSTALL_REPAIRED)) {
128 if (!file_util::PathExists(shortcut_path)) 128 if (!file_util::PathExists(shortcut_path))
129 file_util::CreateDirectoryW(shortcut_path); 129 file_util::CreateDirectoryW(shortcut_path);
130 130
131 VLOG(1) << "Creating shortcut to " << chrome_exe.value() << " at " 131 VLOG(1) << "Creating shortcut to " << chrome_exe.value() << " at "
132 << chrome_link.value(); 132 << chrome_link.value();
133 ret = ShellUtil::UpdateChromeShortcut(browser_dist, chrome_exe.value(), 133 ret = ShellUtil::UpdateChromeShortcut(browser_dist, chrome_exe.value(),
134 chrome_link.value(), L"", product_desc, true); 134 chrome_link.value(), L"", product_desc, chrome_exe.value(),
135 browser_dist->GetIconIndex(), true);
135 } else if (file_util::PathExists(chrome_link)) { 136 } else if (file_util::PathExists(chrome_link)) {
136 VLOG(1) << "Updating shortcut at " << chrome_link.value() 137 VLOG(1) << "Updating shortcut at " << chrome_link.value()
137 << " to point to " << chrome_exe.value(); 138 << " to point to " << chrome_exe.value();
138 ret = ShellUtil::UpdateChromeShortcut(browser_dist, chrome_exe.value(), 139 ret = ShellUtil::UpdateChromeShortcut(browser_dist, chrome_exe.value(),
139 chrome_link.value(), L"", product_desc, false); 140 chrome_link.value(), L"", product_desc, chrome_exe.value(),
141 browser_dist->GetIconIndex(), false);
140 } else { 142 } else {
141 VLOG(1) 143 VLOG(1)
142 << "not first or repaired install, link file doesn't exist. status: " 144 << "not first or repaired install, link file doesn't exist. status: "
143 << install_status; 145 << install_status;
144 } 146 }
145 147
146 // Create/update uninstall link if we are not an MSI install. MSI 148 // Create/update uninstall link if we are not an MSI install. MSI
147 // installations are, for the time being, managed only through the 149 // installations are, for the time being, managed only through the
148 // Add/Remove Programs dialog. 150 // Add/Remove Programs dialog.
149 // TODO(robertshield): We could add a shortcut to msiexec /X {GUID} here. 151 // TODO(robertshield): We could add a shortcut to msiexec /X {GUID} here.
(...skipping 22 matching lines...) Expand all
172 setup_exe.value().c_str(), 174 setup_exe.value().c_str(),
173 0, 175 0,
174 NULL); 176 NULL);
175 } 177 }
176 } 178 }
177 179
178 // Update Desktop and Quick Launch shortcuts. If --create-new-shortcuts 180 // Update Desktop and Quick Launch shortcuts. If --create-new-shortcuts
179 // is specified we want to create them, otherwise we update them only if 181 // is specified we want to create them, otherwise we update them only if
180 // they exist. 182 // they exist.
181 if (ret) { 183 if (ret) {
184 ShellUtil::ShellChange desktop_level = ShellUtil::CURRENT_USER;
185 int quick_launch_levels = ShellUtil::CURRENT_USER;
182 if (installer_state.system_install()) { 186 if (installer_state.system_install()) {
183 ret = ShellUtil::CreateChromeDesktopShortcut(product.distribution(), 187 desktop_level = ShellUtil::SYSTEM_LEVEL;
184 chrome_exe.value(), product_desc, L"", L"", ShellUtil::SYSTEM_LEVEL, 188 quick_launch_levels |= ShellUtil::SYSTEM_LEVEL;
185 alt_shortcut, create_all_shortcut); 189 }
186 if (ret) { 190 ret = ShellUtil::CreateChromeDesktopShortcut(browser_dist,
187 ret = ShellUtil::CreateChromeQuickLaunchShortcut( 191 chrome_exe.value(), product_desc, L"", L"", chrome_exe.value(),
188 product.distribution(), chrome_exe.value(), 192 browser_dist->GetIconIndex(), desktop_level, alt_shortcut,
189 ShellUtil::CURRENT_USER | ShellUtil::SYSTEM_LEVEL, 193 create_all_shortcut);
190 create_all_shortcut); 194 if (ret) {
191 } 195 ret = ShellUtil::CreateChromeQuickLaunchShortcut(
192 } else { 196 browser_dist, chrome_exe.value(), quick_launch_levels,
193 ret = ShellUtil::CreateChromeDesktopShortcut(product.distribution(), 197 create_all_shortcut);
194 chrome_exe.value(), product_desc, L"", L"", ShellUtil::CURRENT_USER,
195 alt_shortcut, create_all_shortcut);
196 if (ret) {
197 ret = ShellUtil::CreateChromeQuickLaunchShortcut(
198 product.distribution(), chrome_exe.value(), ShellUtil::CURRENT_USER,
199 create_all_shortcut);
200 }
201 } 198 }
202 } 199 }
203 200
204 return ret; 201 return ret;
205 } 202 }
206 203
207 void RegisterChromeOnMachine(const InstallerState& installer_state, 204 void RegisterChromeOnMachine(const InstallerState& installer_state,
208 const Product& product, 205 const Product& product,
209 bool make_chrome_default) { 206 bool make_chrome_default) {
210 DCHECK(product.is_chrome()); 207 DCHECK(product.is_chrome());
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 installer_state.RemoveOldVersionDirectories( 418 installer_state.RemoveOldVersionDirectories(
422 new_version, 419 new_version,
423 existing_version.get(), 420 existing_version.get(),
424 install_temp_path); 421 install_temp_path);
425 } 422 }
426 423
427 return result; 424 return result;
428 } 425 }
429 426
430 } // namespace installer 427 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698