New issue
Advanced search Search tips

Issue 705420 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Uninstalling MSI stalls for 30s

Project Member Reported by grt@chromium.org, Mar 27 2017

Issue description

Install the MSI, then uninstall via Programs and Features. Notice how it takes a really long time.

This is a consequence of r126888 ("Launch Google Update on uninstall."), which we added so that Google Update would uninstall itself while Chrome was being uninstalled. This was a requirement to get some kind of "good Windows citizen" badge from the app certification thingie in the Win8 days. As it happens, Google Update has a "wait for msiexec to do its business before handling an uninstall" thing that gets in the way of this for MSI Chrome. So what we have is Chrome's setup.exe waiting for GU's uninstall, while GU's uninstall is waiting for msiexec to exit, but msiexe is the thing that's running setup.exe. (...time becomes a loop...).

Chrome should skip the call to UninstallGoogleUpdate during uninstall in the case of MSIs. GU will still uninstall itself once it notices that all apps are gone.
 
Hi, I would like to work on this issue, however I'm not a member of the team. Is it possible to get it assigned to myself?
Owner: georgesak@chromium.org

Comment 3 by grt@chromium.org, Mar 29 2017

Hi: patches are welcome. Please see http://www.chromium.org/developers/contributing-code regarding how to make your first contributions to Chromium (especially the brief "Legal stuff" section).
grt: Thanks for the reply. I have already signed the legal agreement before. I must confess that, although I have been dealing with Chromium's code for quite a good number of years, I never contributed to it, so I'm a bit lost about the procedures related to being involved.

Should I work on patch with this issue sitting as available, or is it possible to have it started for myself?

Comment 5 by grt@chromium.org, Mar 29 2017

Status: Assigned (was: Available)
Feel free to take a swing at it. It may be a one-liner:

  // Tell Google Update that an uninstall has taken place if this install did
  // not originate from the MSI. Gogle Update has its own logic relating to
  // MSI-driven uninstalls that conflicts with this.  Ignore the return value:
  // success or failure of Google Update has no bearing on the success or
  // failure of Chrome's uninstallation.
  if (!installer_state.is_msi())
    google_update::UninstallGoogleUpdate(installer_state.system_install());

You may find it impossible to test this in a Chromium checkout since integration with Google Update is specific to Google Chrome. While you can't build an MSI for Chromium, you can trick InstallerState into thinking that you've installed from the MSI by setting the DWORD registry value named "msi" to 1 in Software\Chromium.

I cannot assign this issue to you at the moment, as you are not a project member. chromium.org likely has info on how to become one if you're interested.
grt: Thanks for the reply and mindful suggestions... I will be pushing a patch soon. I will also will take steps to see what I can do to be a team member (not sure if I can given that I don't work at Google).

Comment 7 by grt@chromium.org, Apr 25 2017

Cc: georgesak@chromium.org
Owner: grt@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Apr 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1995a63cc353629e27d14a58e0476f864acd5c25

commit 1995a63cc353629e27d14a58e0476f864acd5c25
Author: grt <grt@chromium.org>
Date: Tue Apr 25 18:33:34 2017

Don't uninstall Google Update for Windows Installer-driven uninstalls.

GU has its own logic for dealing with uninstalls coming from Windows
Installer. The call to uninstall it ends up blocking Chrome's uninstall,
which is a worse user experience. GU will uninstall itself at some point
down the road when it notices that all apps have been uninstalled.

BUG= 705420 
R=georgesak@chromium.org

Review-Url: https://codereview.chromium.org/2841783002
Cr-Commit-Position: refs/heads/master@{#467057}

[modify] https://crrev.com/1995a63cc353629e27d14a58e0476f864acd5c25/chrome/installer/setup/setup_main.cc

Comment 9 by grt@chromium.org, Apr 26 2017

Status: Fixed (was: Started)
60.0.3081.0 uninstalls nice and fast now.

Sign in to add a comment