diff options
author | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-09 10:25:20 +0000 |
---|---|---|
committer | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-09 10:25:20 +0000 |
commit | d139ddddddd5e232ebf8fc50dc7881a11b330b03 (patch) | |
tree | 08d3e110d3f0176e0eb3a8f59d0ddf22b1b472c5 /chrome/installer | |
parent | f41290e9a98ec96e1e4ff1c2e91f401d49cbf24d (diff) | |
download | chromium_src-d139ddddddd5e232ebf8fc50dc7881a11b330b03.zip chromium_src-d139ddddddd5e232ebf8fc50dc7881a11b330b03.tar.gz chromium_src-d139ddddddd5e232ebf8fc50dc7881a11b330b03.tar.bz2 |
Delete Chrome extensions related registry entries on uninstall.
BUG=7178
Review URL: http://codereview.chromium.org/58019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13414 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer')
-rw-r--r-- | chrome/installer/setup/uninstall.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc index d0b65ae..05b7f63 100644 --- a/chrome/installer/setup/uninstall.cc +++ b/chrome/installer/setup/uninstall.cc @@ -242,11 +242,20 @@ installer_util::InstallStatus installer_setup::UninstallChrome( DeleteRegistryKey(key, dist->GetVersionKey()); // Delete Software\Classes\ChromeHTML, + // Delete Software\Classes\ChromeExt, + // Delete Software\Classes\.crx, // Software\Clients\StartMenuInternet\chrome.exe and // Software\RegisteredApplications\Chrome std::wstring html_prog_id(ShellUtil::kRegClasses); file_util::AppendToPath(&html_prog_id, ShellUtil::kChromeHTMLProgId); DeleteRegistryKey(key, html_prog_id); + std::wstring ext_prog_id(ShellUtil::kRegClasses); + file_util::AppendToPath(&ext_prog_id, ShellUtil::kChromeExtProgId); + DeleteRegistryKey(key, ext_prog_id); + std::wstring ext_association(ShellUtil::kRegClasses); + ext_association.append(L"."); + ext_association.append(chrome::kExtensionFileExtension); + DeleteRegistryKey(key, ext_association); std::wstring set_access_key(ShellUtil::kRegStartMenuInternet); file_util::AppendToPath(&set_access_key, dist->GetApplicationName()); @@ -285,6 +294,8 @@ installer_util::InstallStatus installer_setup::UninstallChrome( if (remove_all) { DeleteRegistryKey(hklm_key, set_access_key); DeleteRegistryKey(hklm_key, html_prog_id); + DeleteRegistryKey(hklm_key, ext_prog_id); + DeleteRegistryKey(hklm_key, ext_association); DeleteRegistryValue(HKEY_LOCAL_MACHINE, ShellUtil::kRegRegisteredApplications, dist->GetApplicationName()); |