| Index: chrome/installer/setup/uninstall.cc
|
| diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc
|
| index f0d7a588ff55f48b2d44abd4b56ada5b6d9ad2ed..382b76420809073d2e07f32d45e68c6e330910c1 100644
|
| --- a/chrome/installer/setup/uninstall.cc
|
| +++ b/chrome/installer/setup/uninstall.cc
|
| @@ -119,6 +119,14 @@ void ProcessQuickEnableWorkItems(
|
| LOG(ERROR) << "Failed to update quick-enable-cf command.";
|
| }
|
|
|
| +void ProcessIELowRightsPolicyWorkItems(
|
| + const installer::InstallerState& installer_state) {
|
| + scoped_ptr<WorkItemList> work_items(WorkItem::CreateNoRollbackWorkItemList());
|
| + AddDeleteOldIELowRightsPolicyWorkItems(installer_state, work_items.get());
|
| + work_items->Do();
|
| + installer::RefreshElevationPolicy();
|
| +}
|
| +
|
| void ClearRlzProductState() {
|
| const rlz_lib::AccessPoint points[] = {rlz_lib::CHROME_OMNIBOX,
|
| rlz_lib::CHROME_HOME_PAGE,
|
| @@ -790,6 +798,9 @@ InstallStatus UninstallProduct(const InstallationState& original_state,
|
| unreg_work_item_list.get());
|
| unreg_work_item_list->Do();
|
| }
|
| +
|
| + if (!is_chrome)
|
| + ProcessIELowRightsPolicyWorkItems(installer_state);
|
| }
|
|
|
| // Close any Chrome Frame helper processes that may be running.
|
| @@ -825,14 +836,6 @@ InstallStatus UninstallProduct(const InstallationState& original_state,
|
| LOG(INFO) << (can_delete_files ? "Shared binaries will be deleted." :
|
| "Shared binaries still in use.");
|
| if (can_delete_files) {
|
| - // Remove the elevation policy when the last product is uninstalled.
|
| - scoped_ptr<WorkItemList> work_items(
|
| - WorkItem::CreateNoRollbackWorkItemList());
|
| - AddElevationPolicyWorkItems(original_state, installer_state,
|
| - product_state->version(), work_items.get());
|
| - work_items->Do();
|
| - RefreshElevationPolicy();
|
| -
|
| BrowserDistribution* multi_dist =
|
| installer_state.multi_package_binaries_distribution();
|
| InstallUtil::DeleteRegistryKey(reg_root, multi_dist->GetVersionKey());
|
|
|