Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: chrome/installer/setup/uninstall.cc

Issue 8536023: Don't try to delete file type ownership at uninstall. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // This file defines the methods useful for uninstalling Chrome. 5 // This file defines the methods useful for uninstalling Chrome.
6 6
7 #include "chrome/installer/setup/uninstall.h" 7 #include "chrome/installer/setup/uninstall.h"
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 &ShellUtil::kPotentialProtocolAssociations[0]; 616 &ShellUtil::kPotentialProtocolAssociations[0];
617 *proto != NULL; 617 *proto != NULL;
618 ++proto) { 618 ++proto) {
619 parent_key.resize(base_length); 619 parent_key.resize(base_length);
620 file_util::AppendToPath(&parent_key, *proto); 620 file_util::AppendToPath(&parent_key, *proto);
621 child_key.assign(parent_key).append(ShellUtil::kRegShellOpen); 621 child_key.assign(parent_key).append(ShellUtil::kRegShellOpen);
622 InstallUtil::DeleteRegistryKeyIf(root, parent_key, child_key, L"", 622 InstallUtil::DeleteRegistryKeyIf(root, parent_key, child_key, L"",
623 open_command_pred); 623 open_command_pred);
624 } 624 }
625 625
626 // Delete each filetype association if it references this Chrome. 626 // Note that we do not attempt to delete filetype associations since MSDN
627 InstallUtil::ValueEquals prog_id_pred(ShellUtil::kChromeHTMLProgId + 627 // says "Windows respects the Default value only if the ProgID found there is
628 browser_entry_suffix); 628 // a registered ProgID. If the ProgID is unregistered, it is ignored."
629 for (const wchar_t* const* filetype = &ShellUtil::kFileAssociations[0];
630 *filetype != NULL; ++filetype) {
631 parent_key.resize(base_length);
632 file_util::AppendToPath(&parent_key, *filetype);
633 InstallUtil::DeleteRegistryKeyIf(root, parent_key, parent_key, L"",
634 prog_id_pred);
635 }
636 629
637 *exit_code = installer::UNINSTALL_SUCCESSFUL; 630 *exit_code = installer::UNINSTALL_SUCCESSFUL;
638 return true; 631 return true;
639 } 632 }
640 633
641 void RemoveChromeLegacyRegistryKeys(BrowserDistribution* dist) { 634 void RemoveChromeLegacyRegistryKeys(BrowserDistribution* dist) {
642 // We used to register Chrome to handle crx files, but this turned out 635 // We used to register Chrome to handle crx files, but this turned out
643 // to be not worth the hassle. Remove these old registry entries if 636 // to be not worth the hassle. Remove these old registry entries if
644 // they exist. See: http://codereview.chromium.org/210007 637 // they exist. See: http://codereview.chromium.org/210007
645 638
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 893
901 // Try and delete the preserved local state once the post-install 894 // Try and delete the preserved local state once the post-install
902 // operations are complete. 895 // operations are complete.
903 if (!backup_state_file.empty()) 896 if (!backup_state_file.empty())
904 file_util::Delete(backup_state_file, false); 897 file_util::Delete(backup_state_file, false);
905 898
906 return ret; 899 return ret;
907 } 900 }
908 901
909 } // namespace installer 902 } // namespace installer
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698