|
|
Created:
3 years, 7 months ago by grt (UTC plus 2) Modified:
3 years, 7 months ago Reviewers:
gab CC:
chromium-reviews, grt+watch_chromium.org, pennymac+watch_chromium.org, wfh+watch_chromium.org Target Ref:
refs/heads/master Project:
chromium Visibility:
Public. |
DescriptionDo not elevate to register Chrome for system-level Win7 installs.
On Windows 7, browsers must be registered with the OS in HKLM. Chrome's
installer takes care of this during install/update for system-level
installs. For user-level installs, however, Chrome must pop a UAC prompt
to have setup.exe run at high integrity for this registration.
This change suppresses the elevate-to-register codepath for system-level
installs on Windows 7 since this is the installer's responsibility. This
prevents over-prompting some users (see the bug for details) at the risk
of not prompting users for whom Chrome truly isn't registered. If those
users are running a properly updating Chrome, its registration will be
repaired on the next update. If they are not running an updating Chrome,
they have bigger problems.
BUG=717913
R=gab@chromium.org
Review-Url: https://codereview.chromium.org/2878953003
Cr-Commit-Position: refs/heads/master@{#472750}
Committed: https://chromium.googlesource.com/chromium/src/+/31546fb25253afc574bf366d92ef20790c7d418c
Patch Set 1 #
Total comments: 3
Patch Set 2 : next #Patch Set 3 : fix #Patch Set 4 : reset the released callback #Messages
Total messages: 30 (16 generated)
PTAL, thanks.
https://codereview.chromium.org/2878953003/diff/1/chrome/installer/util/shell... File chrome/installer/util/shell_util.cc (right): https://codereview.chromium.org/2878953003/diff/1/chrome/installer/util/shell... chrome/installer/util/shell_util.cc:2106: (!user_level || ElevateAndRegisterChrome(dist, chrome_exe, suffix, Would it perhaps be cleaner to tweak |elevate_if_not_admin| instead of adding an extra condition?
Back at ya https://codereview.chromium.org/2878953003/diff/1/chrome/installer/util/shell... File chrome/installer/util/shell_util.cc (right): https://codereview.chromium.org/2878953003/diff/1/chrome/installer/util/shell... chrome/installer/util/shell_util.cc:2106: (!user_level || ElevateAndRegisterChrome(dist, chrome_exe, suffix, On 2017/05/15 16:50:17, gab wrote: > Would it perhaps be cleaner to tweak |elevate_if_not_admin| instead of adding an > extra condition? I think we want the quick "result = true;" here as if the elevation succeeded rather than going to the else clause below. ...or did I misunderstand the question?
https://codereview.chromium.org/2878953003/diff/1/chrome/installer/util/shell... File chrome/installer/util/shell_util.cc (right): https://codereview.chromium.org/2878953003/diff/1/chrome/installer/util/shell... chrome/installer/util/shell_util.cc:2106: (!user_level || ElevateAndRegisterChrome(dist, chrome_exe, suffix, On 2017/05/15 21:13:59, grt (UTC plus 2) wrote: > On 2017/05/15 16:50:17, gab wrote: > > Would it perhaps be cleaner to tweak |elevate_if_not_admin| instead of adding > an > > extra condition? > > I think we want the quick "result = true;" here as if the elevation succeeded > rather than going to the else clause below. > > ...or did I misunderstand the question? I think we want |elevate_if_not_admin| to be false for system-level installs. That makes us proceed to the next block (which should s/else/else if (user_level)/) and we can then have a last else with result = true that explains when we can get there? It feels weird to have an inline condition here for !user_level that makes us pretend it worked..?
What do you think of this?
The CQ bit was checked by grt@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
Neat, LGTM :)
The CQ bit was checked by grt@chromium.org
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by grt@chromium.org
The CQ bit was checked by grt@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from gab@chromium.org Link to the patchset: https://codereview.chromium.org/2878953003/#ps40001 (title: "fix")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by grt@chromium.org
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by grt@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from gab@chromium.org Link to the patchset: https://codereview.chromium.org/2878953003/#ps60001 (title: "reset the released callback")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by grt@chromium.org
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 60001, "attempt_start_ts": 1495096571382570, "parent_rev": "5cfb0199ae5af577ca239feccd2d3c3f976ddac6", "commit_rev": "31546fb25253afc574bf366d92ef20790c7d418c"}
Message was sent while issue was closed.
Description was changed from ========== Do not elevate to register Chrome for system-level Win7 installs. On Windows 7, browsers must be registered with the OS in HKLM. Chrome's installer takes care of this during install/update for system-level installs. For user-level installs, however, Chrome must pop a UAC prompt to have setup.exe run at high integrity for this registration. This change suppresses the elevate-to-register codepath for system-level installs on Windows 7 since this is the installer's responsibility. This prevents over-prompting some users (see the bug for details) at the risk of not prompting users for whom Chrome truly isn't registered. If those users are running a properly updating Chrome, its registration will be repaired on the next update. If they are not running an updating Chrome, they have bigger problems. BUG=717913 R=gab@chromium.org ========== to ========== Do not elevate to register Chrome for system-level Win7 installs. On Windows 7, browsers must be registered with the OS in HKLM. Chrome's installer takes care of this during install/update for system-level installs. For user-level installs, however, Chrome must pop a UAC prompt to have setup.exe run at high integrity for this registration. This change suppresses the elevate-to-register codepath for system-level installs on Windows 7 since this is the installer's responsibility. This prevents over-prompting some users (see the bug for details) at the risk of not prompting users for whom Chrome truly isn't registered. If those users are running a properly updating Chrome, its registration will be repaired on the next update. If they are not running an updating Chrome, they have bigger problems. BUG=717913 R=gab@chromium.org Review-Url: https://codereview.chromium.org/2878953003 Cr-Commit-Position: refs/heads/master@{#472750} Committed: https://chromium.googlesource.com/chromium/src/+/31546fb25253afc574bf366d92ef... ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as https://chromium.googlesource.com/chromium/src/+/31546fb25253afc574bf366d92ef... |