summaryrefslogtreecommitdiffstats
path: root/chrome/installer
diff options
context:
space:
mode:
authorgrt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-11 21:24:37 +0000
committergrt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-11 21:24:37 +0000
commit32a5d0dd5983032225230ae141afe51b651c1526 (patch)
tree8f00a34d6935dbc9c91975ec1e3d666f61e0ad47 /chrome/installer
parent8336aaf477a8275edd9348c76a2a26c88b31bbe7 (diff)
downloadchromium_src-32a5d0dd5983032225230ae141afe51b651c1526.zip
chromium_src-32a5d0dd5983032225230ae141afe51b651c1526.tar.gz
chromium_src-32a5d0dd5983032225230ae141afe51b651c1526.tar.bz2
Don't try to delete file type ownership at uninstall.
As per http://msdn.microsoft.com/en-us/library/windows/desktop/cc144148(v=vs.85).aspx#uninstall BUG=103935 TEST=install Chrome, make it the default, then uninstall it. make sure HKLM\Software\Classes\.htm hasn't been deleted. Review URL: http://codereview.chromium.org/8536023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109698 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer')
-rw-r--r--chrome/installer/setup/uninstall.cc13
1 files changed, 3 insertions, 10 deletions
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc
index b25b03c..6538eab 100644
--- a/chrome/installer/setup/uninstall.cc
+++ b/chrome/installer/setup/uninstall.cc
@@ -623,16 +623,9 @@ bool DeleteChromeRegistrationKeys(BrowserDistribution* dist, HKEY root,
open_command_pred);
}
- // Delete each filetype association if it references this Chrome.
- InstallUtil::ValueEquals prog_id_pred(ShellUtil::kChromeHTMLProgId +
- browser_entry_suffix);
- for (const wchar_t* const* filetype = &ShellUtil::kFileAssociations[0];
- *filetype != NULL; ++filetype) {
- parent_key.resize(base_length);
- file_util::AppendToPath(&parent_key, *filetype);
- InstallUtil::DeleteRegistryKeyIf(root, parent_key, parent_key, L"",
- prog_id_pred);
- }
+ // Note that we do not attempt to delete filetype associations since MSDN
+ // says "Windows respects the Default value only if the ProgID found there is
+ // a registered ProgID. If the ProgID is unregistered, it is ignored."
*exit_code = installer::UNINSTALL_SUCCESSFUL;
return true;