Uninstalling MSI stalls for 30s |
|||||
Issue descriptionInstall 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.
,
Mar 28 2017
,
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).
,
Mar 29 2017
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?
,
Mar 29 2017
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.
,
Mar 29 2017
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).
,
Apr 25 2017
,
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
,
Apr 26 2017
60.0.3081.0 uninstalls nice and fast now. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by claudiom...@gmail.com
, Mar 28 2017