diff options
author | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-11 21:24:37 +0000 |
---|---|---|
committer | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-11 21:24:37 +0000 |
commit | 32a5d0dd5983032225230ae141afe51b651c1526 (patch) | |
tree | 8f00a34d6935dbc9c91975ec1e3d666f61e0ad47 /chrome/installer | |
parent | 8336aaf477a8275edd9348c76a2a26c88b31bbe7 (diff) | |
download | chromium_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.cc | 13 |
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; |