New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 19 users

Issue metadata

Status: Archived
Owner: ----
Closed: Aug 2015
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Chrome not registered correctly anymore. Can't be launched from admin apps

Reported by sc...@hanselman.com, Oct 17 2012 Back to list

Issue description

Chrome Version       : 24.0.1297.0
OS Version: 6.2 (Windows 8)
URLs (if applicable) : Any
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
     Safari 5: OK
  Firefox 4.x: OK 
     IE 7/8/9: OK

What steps will reproduce the problem?
1. Start an admin command prompt (or any admin app that launches a browser)
2. type start http://cnn.com
3. FAIL. Class not registered.

What is the expected result?

Chrome should launch.

What happens instead of that?

Class not registered

Please provide any additional information below. Attach a screenshot if possible.

This is a regression. It's likely due to some changes in the way Chrome has been registering itself as the default browser after around version 22. 



UserAgentString: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.16 (KHTML, like Gecko) Chrome/24.0.1297.0 Safari/537.16



 
reprosteps.JPG
38.9 KB View Download
Cc: grt@chromium.org
Labels: Action-FeedbackNeeded
This doesn't repro for me in Win 7 with admin or non-admin command prompts when Chrome is set as the default browser.

Is this Win 8-specific?

Comment 2 by sc...@hanselman.com, Oct 17 2012

Possibly? I'm on Win8 and this is consistent across all Win8 machines I've tried. 

Comment 3 by grt@chromium.org, Oct 17 2012

Cc: gab@chromium.org robertshield@chromium.org
Labels: -Area-Undefined Area-Internals Hotlist-Windows8
Status: Untriaged
This is happening because the COM security model prevents a process running at high integrity from CoCreateInstance-ing a class registered in the per-user portion of HKEY_CLASSES_ROOT.  Chrome's DelegateExecute verb handler is registered in HKCU for a per-user install of Chrome.

Comment 4 by sc...@hanselman.com, Oct 17 2012

Can it be fixed? Is it a new thing or a Win8 thing?

Comment 5 by grt@chromium.org, Oct 17 2012

That's a good question.  Installing Chrome for all users on the computer should resolve it.  I believe that if you uninstall Chrome and re-install dev channel from the download page (http://www.chromium.org/getting-involved/dev-channel) you'll be prompted with UAC/elevation.  If you accept that, Chrome will be installed for all users.  Then again, I could be mistaken about the download page.  I'm not near a machine on which I can try this at the moment.  If you have a chance to give it a try, please report back with your results.  Thanks.

Comment 6 by gab@chromium.org, Oct 18 2012

Status: WontFix
What grt@ said. If you want this to work as an admin, looks like you need Chrome to be registered in HKLM; which, as of Win8, it only is for system-level installs (we do this as it allows us to fully register Chrome at user-level without UAC/need for admin rights).

To fix it for user-level installs we would need to add a button in settings to allow you to re-register your user-level Chrome in HKLM, but I doubt this is a strong enough case to add such a button in Chrome settings (not even considering the highly probable side-effects of re-registering the same Chrome in HKLM. Plus re-registering in HKLM would require UAC which if you can accept (i.e. you are an admin on the machine); you could just as well have installed system-level Chrome from the beginning (now that Chrome is system-level by default from the download page I believe -- not sure if this is only for dev-channel or has made it to the download page for stable).

Please let us know if the system-level (all users) install fixes your issue.

Thanks,
Gab

Comment 7 by gab@chromium.org, Oct 18 2012

Status: Untriaged
Re-opening to keep track of #people affected. Please star this issue if this is a problem for you.

In the mean time see workarounds proposed in previous 2 comments.

Cheers,
Gab
I've also ran into this.  The main problem for us presents itself when a customer of ours is running an installer as an administrator. At the end of the installer, we do a Process.Start("http://{url of newly-installed application}"), and receive this error.  Since this is an installer that runs on a customer site, that I have no control over, the above workarounds don't solve anything for me.  We've changed our code to explicitly start iexplore.exe so that our customers won't run into this.

Comment 9 by sc...@hanselman.com, Oct 18 2012

We seen this when using Visual Studio as Admin. We're unable to launch
help, click links like "more info" or debug.

Comment 10 by grt@chromium.org, Oct 18 2012

Cc: gideonwald@chromium.org
I've confirmed that a fresh install from the download page is machine-wide if the UAC is accepted, so the easiest workaround at the moment is to uninstall then reinstall Chrome from the download page and accept UAC.

To provide a little more detail here, the issue is that Chrome is registered as a "new experience enabled desktop browser" on Windows 8 as per http://go.microsoft.com/fwlink/?LinkID=243079.  This requires registering a DelegateExecute verb handler for Chrome.  The aforementioned document doesn't state that such browsers must be registered in HKLM (it refers to HKCR, which is the per-user registration overlaid atop the machine-wide registration).  The unfortunate side effect of putting the DelegateExecute verb handler registration in HKCU is that elevated processes can't see them (as mentioned, due to COM's security model).

To the best of our knowledge, we are following the recommendations for registering a browser on Windows.  If anyone on the thread knows otherwise, please let us know and we'll fix it right up.
Cool. I'll find the person who owns that document and experience and get
more info.

Forgive my ignorance but I want to understand more. You're saying "just
download again and accept UAC."

Why are we seeing this so much...did people say No to UAC? Or was this a
bug for some builds and then changed?

Comment 12 by grt@chromium.org, Oct 18 2012

Thanks, Scott.  Chrome's download page has recently been changed so that a machine-wide install is now the default if the user is willing/able to UAC.  Otherwise, the installer falls back to a per-user install.  Prior to this change, a per-user install was preferred unless the user jumped through hoops to get a machine-wide install.
Ok, I can confirm that an uninstall/reinstall with UAC fixes this on Win8.
Status: Available
Can this be closed then?

Comment 15 by grt@chromium.org, Oct 26 2012

Hi Scott.  Have you been able to discuss the issue with the authors of the doc to see if it's possible to install a "new experience" browser for a single user purely in HKCU?  Thanks.
I'll ask them again, sorry for the delay.

Comment 17 by gab@chromium.org, Jan 29 2013

Status: ExternalDependency
Still waiting to hear from Scott on this.

The issue is that user-level Chrome fully-registers in HKCU on Windows 8; admin apps cannot see HKCU registrations as it is now. If there is a way for us to register (without requiring admin rights) so that admin apps can trigger user-level Chrome, we will happily do it.

This is no longer a big issue however since the default Chrome install from the download page is now system-level (and thus registers in HKLM). User-level Chrome is mainly meant for people who don't have admin rights, but those people can't run admin apps to begin with anyways.
Project Member

Comment 18 by bugdroid1@chromium.org, Mar 9 2013

Labels: -Action-FeedbackNeeded Needs-Feedback
Project Member

Comment 19 by bugdroid1@chromium.org, Mar 10 2013

Labels: -Area-Internals Cr-Internals
This is still happening for me and I'm using Chrome Version 26.0.1410.43 m

Comment 21 by gab@chromium.org, Apr 9 2013

@SavageSoftware: please install system-level Chrome to be able to run Chrome from admin apps.

It is now the default install from the download page at http://chrome.google.com (please note however that if the user running the install already has user-level Chrome, the installer will drop down to a user-level install -- updating the current install...).

Once you have system-level Chrome (in C:\Programs Files (x86)\Google\Chrome) all users with a user-level Chrome (in C:\Users\<username>\AppData\Local\Google\Chrome) will see their user-level Chrome automatically uninstall itself the next time it is launched and instead launch the system-level Chrome to complete the transition.

Cheers!
Gab

Comment 22 by laforge@google.com, May 31 2013

Cc: -gideonwald@chromium.org odean@chromium.org
Status: Archived
(Automated-archive) Issue requiring feedback hasn't been modified/ commented on in more than one year, please file a new bug if this is still an issue.

Sign in to add a comment