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

Issue 158632 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
OOO
Closed: Dec 2012
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Unable to launch system level chrome after self destructing user-level chrome.

Project Member Reported by pbomm...@chromium.org, Oct 30 2012

Issue description

Version: <Kenneth, what is the frequency?>
OS: <please tell me it's not XP>

What steps will reproduce the problem?
1. Install user-level chrome(24.0.1305.3 --chrome --verbose-logging --do-not-launch-chrome)
2. launch chrome and exit
3. Now install system-level chrome(24.0.1312.1 --chrome --system-level --do-not-launch-chrome --verbose-logging)

What is the expected output?
There should be Two chrome shortcuts on taskbar(one for userlevel and one for system level), when you try to launch User-level chrome the shortcut should show get self destructed and show an message and User should be able to launch system-level chrome.


What do you see instead?
When launched user-level chrome, it is getting self destructed.
In win7 I see "problem with shortcut"(attached screenshot)
In Win8 I see the same message which was seen when I launched User-level chrome.


 
Win7.png
34.4 KB View Download
Chrome Versions used : 24.0.1305.3, 24.0.1312.1
Os : Win7, Win8
 
Attached Chrome_installer.log.
chrome_installer.log
63.4 KB View Download
Greg/Gab, could one of you take a look at this? I'm not clear on what the behavior of installing both user- and system-level Chrome should be. Prudhvi, is this a regression?
Labels: -Type-Bug Type-Regression
Yes,It an regression.

Comment 4 by dharani@google.com, Oct 30 2012

Cc: -gab@chromium.org
Labels: Mstone-24 ReleaseBlock-Stable
Owner: gab@chromium.org
Status: Assigned

Comment 5 by cpu@chromium.org, Oct 30 2012

I don't think this is a dev channel blocker. My understanding is that canary and dev channel is normally per user install (when using normall install flow) so our users should not be hitting this issue.

Bisect Result: 
With Chrome : 24.0.1312.0 in win7 machine the user-level shortcut is not getting deleted, but was able to access System-level chrome.

With Chrome 24.0.1312.1 in Win7 machine the User-level shortcuts were deleted from both dekstop and taskbar, but unable to launch chrome.

Change logs:
24.0.1311.1 --> 24.0.1312.1 

http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog.html?url=/trunk/src&range=164600:164863&mode=html


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

Status: Started

Comment 8 by gab@chromium.org, Oct 31 2012

The shortcuts' targets do get replaced by the system-level Chrome however some caching (which isn't even cleared by SHCNE_ASSOCCHANGED notification) makes them still open user-level Chrome.

This is actually fine because it triggers a self-destruct.

The only shortcuts which appears in double is the taskbar shortcut and this is kind of by design (i.e. its a side-effect, but its useful to let the user destroy the user-level chrome).

I will be adding code to delete the user-level taskbar shortcut upon user-level Chrome self-destruction.

In the mean time, the fact that you see the user-level self-destruction message twice on Win8 is weird (it basically means the Chrome directory in %localappdata%\Google wasn't removed... (can you double-check that? this might have been a bug for a while and this is just exposing it...?).

Comment 10 by gab@chromium.org, Nov 1 2012

Labels: Merge-Requested

Comment 12 by gab@chromium.org, Nov 2 2012

Labels: -Merge-Requested
Project Member

Comment 13 by bugdroid1@chromium.org, Nov 6 2012

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=166285

------------------------------------------------------------------------
r166285 | gab@chromium.org | 2012-11-06T22:27:01.698904Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/base/base_paths_win.h?r1=166285&r2=166284&pathrev=166285
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/setup/uninstall.cc?r1=166285&r2=166284&pathrev=166285
   M http://src.chromium.org/viewvc/chrome/trunk/src/base/path_service_unittest.cc?r1=166285&r2=166284&pathrev=166285
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/shell_integration_win.cc?r1=166285&r2=166284&pathrev=166285
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/util/shell_util.cc?r1=166285&r2=166284&pathrev=166285
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/util/shell_util.h?r1=166285&r2=166284&pathrev=166285
   M http://src.chromium.org/viewvc/chrome/trunk/src/base/base_paths_win.cc?r1=166285&r2=166284&pathrev=166285

Re-commit: Introduce RemoveChromeTaskbarShortcuts() to delete all pinned-to-taskbar shortcuts owned by the uninstalled Chrome.

Original commit http://crrev.com/165505
Reverted in http://crrev.com/165524

BUG= 158632 
TEST=No user-level shortcut Chrome left behind in taskbar post user-level self-destruct.

Review URL: https://chromiumcodereview.appspot.com/11368040
------------------------------------------------------------------------

Comment 14 by gab@chromium.org, Nov 7 2012

Status: Fixed
@pbommana: can you verify this in the next dev channel? The only shortcut bug left should be  bug #158524 .

Thanks,
Gab
Status: Assigned
I tried with current dev (24.0.1312.5) and latest build available for M24 (24.0.1312.11). In both cases, I notice that installing system level over user-level leaves both shortcuts as is. 

Also, launching chrome (user-level first) brings up a blank screen. After that, both shortcuts fail to launch chrome eventually.
pavan: r166285 isn't part of M24. could you test it on M25 dev build?
The bug from comment #15 is also noticed in 25.0.1323.1 (today's dev/canary). I just reopened the bug since it seemed quite related to this one.

Comment 18 by gab@chromium.org, Nov 14 2012

What do you mean "bug is also noticed in M25"?

The user-level taskbar shortcut isn't removed still on M25?!?

The fact that chrome.exe isn't always removed and may stil be launched (after being unregistered =S) from user created shortcuts is definitely also problematic (i.e. probably crashes if launching in Metro mode), is this the issue you are still having or do you still have issues with shortcuts not being removed?

Comment 19 Deleted

I was able to reproduce the issue and here are my observations 

scenario 1 win7/Win8:
-----------------------------
Chrome builds : 25.0.1313.0 , 25.0.1325.0 

1. Installed 25.0.1313.0 with parameters (25.0.1313.0_chrome_installer.exe --chrome --multi-install --verbose-logging --do-not-launch-chrome)
2. launched chrome and verified that it was User-level install 
3. Installed 25.0.1325.0 system-level using parameters (25.0.1325.0_chrome_installer.exe --chrome --system-level --multi-install --verbose-logging --do-not-launch-chrome)
4. Can see another chrome shortcut on taskbar(Now there are two chrome shortcuts on taskbar)
5. When tried to launch user-level chrome saw the error message(An Administrator has installed Google Chrome...etc) but User level chrome shortcut was not deleted.

Scenario 2 on Win7/Win8 : 
-------------------------------------
Chrome builds : 25.0.1325.0  

1. Installed 25.0.1325.0 with parameters (25.0.1325.0_chrome_installer.exe --chrome --multi-install --verbose-logging --do-not-launch-chrome)
2. launched chrome and verified that it was User-level install 
3. Installed 25.0.1325.0 system-level using parameters (25.0.1325.0_chrome_installer.exe --chrome --system-level --multi-install --verbose-logging --do-not-launch-chrome)
4. Can see another chrome shortcut on taskbar(Now there are two chrome shortcuts on taskbar)
5. When tried to launch User-level chrome I saw the error message and on selecting "ok", User-level chrome shortcut was deleted and there's only one shortcut when launched it's an system-level chrome. But still I can see the application folder under "C:\users\<username>\AppData\Local\Google\Chrome\Application" 

Other observed behavior during testing in Win8 
------------------------------------------------
1. When User-level chrome is launched in Windows 8 mode and tried to install System-level, In this case when tried to launch user-level I just see splash no error message or nothing and when tried to launch other shortcut ie., system-level it's same thing just see the splash.

Comment 21 by gab@chromium.org, Nov 14 2012

So the shortcut removal now works (the user-level Chrome is now in charge of removing it when it self-destructs which it does as per your reports (25.0.1313.0 isn't expected to work as it's before the fix)).

The non-deletion of the Application folder is tracked in  issue 159995 .

As for the splash this is weird; @grt: perhaps system-level and user-level Chrome use the same DelegateExecute GUID and Windows is still caching the old one? They should probably have different GUIDs..?

Comment 22 by gab@chromium.org, Nov 15 2012

Labels: Merge-Requested
@dharani, r166285 solves the problem where the user-level taskbar shortcut remained behind post self-destruction. This at least mitigates  issue 159995  as no Chrome created shortcuts still point to the still existing exe. Asking for merge on r166285.

The other self-destruction bugs which are reported here and more and more in general) aren't due to my shortcut refactoring I would think, but to bigger installer bugs which have likely been around for a while (but now that organic installs are system-level, user-level self-destructions are likely to increase).

We will look into those, but it shouldn't prevent merging r166285.

Cheers,
Gab

Comment 23 by dharani@google.com, Nov 15 2012

Labels: -Merge-Requested Merge-Approved
Unable to reproduce the issue on Win7/win8 with latest build's which were available for M25(25.0.1324.0, 25.0.1325.0) and which has r166285. 

Thanks Gab for pointing. 
Project Member

Comment 25 by bugdroid1@chromium.org, Nov 15 2012

Labels: -Merge-Approved merge-merged-1312
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=167788

------------------------------------------------------------------------
r167788 | gab@chromium.org | 2012-11-15T00:31:12.234057Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/chrome/installer/util/shell_util.cc?r1=167788&r2=167787&pathrev=167788
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/chrome/installer/util/shell_util.h?r1=167788&r2=167787&pathrev=167788
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/base/base_paths_win.cc?r1=167788&r2=167787&pathrev=167788
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/base/base_paths_win.h?r1=167788&r2=167787&pathrev=167788
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/chrome/installer/setup/uninstall.cc?r1=167788&r2=167787&pathrev=167788
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/base/path_service_unittest.cc?r1=167788&r2=167787&pathrev=167788
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/chrome/browser/shell_integration_win.cc?r1=167788&r2=167787&pathrev=167788

Merge 166285 - Re-commit: Introduce RemoveChromeTaskbarShortcuts() to delete all pinned-to-taskbar shortcuts owned by the uninstalled Chrome.

Original commit http://crrev.com/165505
Reverted in http://crrev.com/165524

BUG= 158632 
TEST=No user-level shortcut Chrome left behind in taskbar post user-level self-destruct.

Review URL: https://chromiumcodereview.appspot.com/11368040

TBR=gab@chromium.org
Review URL: https://codereview.chromium.org/11275333
------------------------------------------------------------------------

Comment 26 by gab@chromium.org, Nov 15 2012

Labels: Hotlist-Windows8
Right, so I'm pretty sure now that the fact it can't relaunch in Metro after system-level Chrome is installed is due to caching of the DelegateExecute GUID; having a different GUID for system-level and user-level Chrome will be hard though since this GUID is baked into delegate_execute.exe at compile time =S!

I would expect this to repro on M23 stable with the following steps (can someone confirm?).

1) Install user-level Chrome.
2) Run it in Metro mode (for Windows to cache the GUID).
3) Install system-level Chrome.
4) Try to run either Chrome.

If you left the user-level Metro active it is simply activated and you are back in it. As soon as you close it though you can't relaunch Chrome from either shortcut (most likely some crazy conflict because different appids for different chrome_exes point to the same DelegateExecute GUIDs which is registered in HKCU pointing at the user-level Chrome and in HKLM pointing at the system-level Chrome...).

Since you can't launch user-level Chrome, it doesn't go through self-destruction either so this never goes away... this is really bad!!!
Labels: -Mstone-24 Mstone-23
Yikes!

Prudhvi, can you confirm that Gab's steps work on M23? Gab, do you have ideas for anything safe we can merge into M23 to resolve this?

My guess is that most users won't install system-level M23 over user-level M23, but still - bad for those who do.
Tested this on M23 it's the same behavior, Can reproduce the issue. The registries are not getting cleared and hence I see two entries in control panel.

Comment 29 by gab@chromium.org, Nov 15 2012

Two entries in the control panel is not the big problem discussed here (the user-level one should go away on self-destruct).

The big problem is that, if the preference is set to run in Metro (can be set by launching user-level in Metro before installing system-level Chrome), both user-level and system-level Chrome use the same GUID which results in a conflict whereby neither can launch.... (which also means the self-destruct never occurs since Chrome is never launched...).

@gideon this can actually happen easily since our organic installs are now system-level (thus if any other user on the system installs Chrome; all users with the user-level Chrome will get this). I think however that organic installs were switched to system-level before the official Win8 release; so it's possible we don't have many user-level installs on Win8 at all (do we have stats? as it is now on organic installs, user-level installs only happen if the user says "no" to the UAC shown by Omaha in the "prefer-system-level" flow).
Yeah, I'm pretty sure we switched to system-level by default before Win8 came out. Dharani, can you confirm when we switched to system-level installs by default on Windows? 

But there will still be some users who are totally broken from this. Gab, can you think of any safe/quick fixes for M23/M24?
As far as I know since M22 we switched to System-level, As I have raised an Issue#154623 on M22.
Gotcha. So users who installed M21 Stable on the Consumer Preview and then upgraded Win8 in-place will be hosed if they overinstall system.

Comment 33 by gab@chromium.org, Nov 15 2012

Right, or any user that is not an admin on their system (or said "no" to the Omaha UAC on install) will get hosed if anyone else on the system installs system-level Chrome.

I'm thinking of a few possible fixes, none of which are simple so far.
Project Member

Comment 34 by bugdroid1@chromium.org, Nov 21 2012

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=169130

------------------------------------------------------------------------
r169130 | gab@chromium.org | 2012-11-21T21:07:50.161530Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/setup/uninstall.cc?r1=169130&r2=169129&pathrev=169130
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chrome_browser_main_win.cc?r1=169130&r2=169129&pathrev=169130

Remove self-destruct message box (causing hang in Metro).

Launch self-destruct setup out of job (so that it doesn't die when killing the chrome.exe which created it...).

And be more drastic about killing Chrome processes on force-uninstall (pure kill, no wait).


BUG= 158632 , 159995 
TEST=Install system-level over user-level (with user-level set to run in Metro mode); next run should self-destruct user-level Chrome (silently); subsequent launches should launch system-level Chrome.
This should also fix users currently in this bad state (upon updating the user-level Chrome which will then be able to self-destruct properly).

This might also solve  bug 159995 , will need to test with official build (it definitely solves the part where when both Chromes are present, user-level is activated, but hangs on the self-destruct message (which can't be displayed in Metro) -- the stronger kill process in this CL might also help with the user-level binaries left behind issue).


Review URL: https://chromiumcodereview.appspot.com/11417036
------------------------------------------------------------------------

Comment 35 by gab@chromium.org, Nov 21 2012

Status: Fixed
Fixed, to be verified in the next official build, this will need to be merged in M23/M24.

This CL might also have fixed  issue 159995  where binaries were not going away upon uninstall on Win8 (creating various issues; in particular with user-level self-destruction) it would be nice to also verify this.

Thanks!
Gab
Cc: manoranj...@chromium.org
Verified this issue on Latest Dev#25.0.1332.0 on Win7 - Working as intended.

Need to be verified on Win8.

Thanks,
Mano

Comment 37 by gab@chromium.org, Nov 24 2012

I don't think latest dev release has this CL yet (unless you meant canary?).

Cheers,
Gab

Comment 38 by gab@chromium.org, Nov 24 2012

(well I guess it depends what you were verifying, the initial Win7 report here as long been fixed, the just fixed critical part is Win8 only -- although making sure it didn't regress other Windows versions will also be necessary).

Thanks!
Gab
Verified this on latest M25(25.0.1335.0)on Win8/7

steps Followed :
-----------------------
1. Installed chrome 25.0.1334.0(user-level)
2. launched chrome in windows 8 mode  
3. Exit chrome 
4. Installed 25.0.1335.0(System-level)

Verified :
--------------------
When Tried to launch User-level chrome I didn't see the message and chrome User-level got self destructed.

Note: Chrome User-level binaries are still let behind. 





Comment 40 by gab@chromium.org, Nov 26 2012

Labels: -Mstone-23 Mstone-24 Merge-Requested
Too bad that binaries are still left behind, will work on that next, but at least self-destruction is happening correctly now, this is a big win.

Requesting for M24, we should also merge in M23 soon thereafter.

Cheers,
Gab

Comment 41 by dharani@google.com, Nov 26 2012

Labels: -Merge-Requested Merge-Approved
Project Member

Comment 42 by bugdroid1@chromium.org, Nov 26 2012

Labels: -Merge-Approved
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=169533

------------------------------------------------------------------------
r169533 | gab@chromium.org | 2012-11-26T23:51:59.830249Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/chrome/browser/chrome_browser_main_win.cc?r1=169533&r2=169532&pathrev=169533
   M http://src.chromium.org/viewvc/chrome/branches/1312/src/chrome/installer/setup/uninstall.cc?r1=169533&r2=169532&pathrev=169533

Merge 169130 - Remove self-destruct message box (causing hang in Metro).

Launch self-destruct setup out of job (so that it doesn't die when killing the chrome.exe which created it...).

And be more drastic about killing Chrome processes on force-uninstall (pure kill, no wait).


BUG= 158632 , 159995 
TEST=Install system-level over user-level (with user-level set to run in Metro mode); next run should self-destruct user-level Chrome (silently); subsequent launches should launch system-level Chrome.
This should also fix users currently in this bad state (upon updating the user-level Chrome which will then be able to self-destruct properly).

This might also solve  bug 159995 , will need to test with official build (it definitely solves the part where when both Chromes are present, user-level is activated, but hangs on the self-destruct message (which can't be displayed in Metro) -- the stronger kill process in this CL might also help with the user-level binaries left behind issue).


Review URL: https://chromiumcodereview.appspot.com/11417036

TBR=gab@chromium.org
Review URL: https://codereview.chromium.org/11348236
------------------------------------------------------------------------
Verified on latest Beta i.e., 24.0.1312.25. 
Status: Verified

Comment 45 by gab@chromium.org, Nov 28 2012

Labels: -Mstone-24 Mstone-23 Merge-Requested
Just verified that this also fixes currently broken clients on over-install (by creating broken scenario with Chrome beta yesterday and testing that it self-fixed today!).

Requesting merge in M23.

Comment 46 by kareng@google.com, Nov 28 2012

Labels: -Merge-Requested Merge-Approved
Project Member

Comment 47 by bugdroid1@chromium.org, Nov 28 2012

Labels: -Merge-Approved merge-merged-1271
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=170048

------------------------------------------------------------------------
r170048 | gab@chromium.org | 2012-11-28T20:57:19.603300Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1271/src/chrome/browser/chrome_browser_main_win.cc?r1=170048&r2=170047&pathrev=170048
   M http://src.chromium.org/viewvc/chrome/branches/1271/src/chrome/installer/setup/uninstall.cc?r1=170048&r2=170047&pathrev=170048

Merge 169130 - Remove self-destruct message box (causing hang in Metro).

Launch self-destruct setup out of job (so that it doesn't die when killing the chrome.exe which created it...).

And be more drastic about killing Chrome processes on force-uninstall (pure kill, no wait).


BUG= 158632 , 159995 
TEST=Install system-level over user-level (with user-level set to run in Metro mode); next run should self-destruct user-level Chrome (silently); subsequent launches should launch system-level Chrome.
This should also fix users currently in this bad state (upon updating the user-level Chrome which will then be able to self-destruct properly).

This might also solve  bug 159995 , will need to test with official build (it definitely solves the part where when both Chromes are present, user-level is activated, but hangs on the self-destruct message (which can't be displayed in Metro) -- the stronger kill process in this CL might also help with the user-level binaries left behind issue).


Review URL: https://chromiumcodereview.appspot.com/11417036

TBR=gab@chromium.org
Review URL: https://codereview.chromium.org/11415187
------------------------------------------------------------------------
Verified this on latest M23(23.0.1271.97) on Win7 and Win8.
Woohoo!! Thank you all so much for this one!
Status: Untriaged
This issue is still reproducible when I am updating from M23 --> M24.

Steps Followed :
--------------------
1. Installed Chrome M23 23.0.1271.97(user-level)
2. launched chrome
3. Exit chrome
4. Over Install with M24 24.0.1312.32 or .25 

Observed behavior :
User level chrome is self destructed where in when tried to launch user-level chrome. 
When tried to launch system-level I still see the message 
"An administrator has installed Google Chrome on this system, and it is available for all users. The system-level Google Chrome will replace your user-level installation now."

Comment 51 by kareng@google.com, Dec 6 2012

Labels: -ReleaseBlock-Stable
Status: Assigned
this is not a blocker for m23.
Same works fine with 24.0.1312.25 --> 24.0.1312.32 and also with 24.0.1312.32 --> 25.0.1349.2. 


Comment 53 by gab@chromium.org, Dec 6 2012

Status: Fixed
Ok, so the fact that we were "Unable to launch system level chrome after self destructing user-level chrome." has been fixed, the problem discussed in the last few comments is different and is now tracked on  issue 164655 .

That issue doesn't affect M23 itself.

Cheers,
Gab
Project Member

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

Labels: -Type-Regression -Area-Internals -Internals-Install -Mstone-23 Type-Bug-Regression Cr-Internals M-23 Cr-Internals-Install
Project Member

Comment 55 by bugdroid1@chromium.org, Apr 5 2013

Labels: -Cr-Internals-Install Cr-Internals-Installer

Comment 56 by Deleted ...@, May 13 2013

I have installed Chrome Dev (dev channel) using --system-level and it installed in "c:\Program Files (x86)" but it does NOT update and shows this:

Version 28.0.1500.5
 Update failed (error: 3)An error occurred while checking for updates: Update check failed to start (error code 3: 0x80040154 -- system level).

Comment 57 by grt@chromium.org, May 13 2013

simplew8: 0x80040154 is REGDB_E_CLASSNOTREG. It sounds like you didn't install from the download page, so you don't have Google Update installed. Please follow the links here http://www.chromium.org/getting-involved/dev-channel to install the different Google Chrome channels.

Sign in to add a comment