summaryrefslogtreecommitdiffstats
path: root/chrome/installer
diff options
context:
space:
mode:
authorkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-09 10:25:20 +0000
committerkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-09 10:25:20 +0000
commitd139ddddddd5e232ebf8fc50dc7881a11b330b03 (patch)
tree08d3e110d3f0176e0eb3a8f59d0ddf22b1b472c5 /chrome/installer
parentf41290e9a98ec96e1e4ff1c2e91f401d49cbf24d (diff)
downloadchromium_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.cc11
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());