diff options
Diffstat (limited to 'chrome/installer/setup')
-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()); |