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

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

Issue 105473007: Stop building Chrome Frame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months 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 | « chrome/installer/mini_installer/chrome.release ('k') | chrome/tools/build/win/FILES.cfg » ('j') | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 contains the definitions of the installer functions that build 5 // This file contains the definitions of the installer functions that build
6 // the WorkItemList used to install the application. 6 // the WorkItemList used to install the application.
7 7
8 #include "chrome/installer/setup/install_worker.h" 8 #include "chrome/installer/setup/install_worker.h"
9 9
10 #include <oaidl.h> 10 #include <oaidl.h>
(...skipping 30 matching lines...) Expand all
41 #include "chrome/installer/util/install_util.h" 41 #include "chrome/installer/util/install_util.h"
42 #include "chrome/installer/util/installation_state.h" 42 #include "chrome/installer/util/installation_state.h"
43 #include "chrome/installer/util/installer_state.h" 43 #include "chrome/installer/util/installer_state.h"
44 #include "chrome/installer/util/l10n_string_util.h" 44 #include "chrome/installer/util/l10n_string_util.h"
45 #include "chrome/installer/util/product.h" 45 #include "chrome/installer/util/product.h"
46 #include "chrome/installer/util/set_reg_value_work_item.h" 46 #include "chrome/installer/util/set_reg_value_work_item.h"
47 #include "chrome/installer/util/shell_util.h" 47 #include "chrome/installer/util/shell_util.h"
48 #include "chrome/installer/util/util_constants.h" 48 #include "chrome/installer/util/util_constants.h"
49 #include "chrome/installer/util/work_item_list.h" 49 #include "chrome/installer/util/work_item_list.h"
50 50
51 #if !defined(OMIT_CHROME_FRAME)
52 #include "chrome_frame/chrome_tab.h"
53 #endif
54
55 using base::ASCIIToWide; 51 using base::ASCIIToWide;
56 using base::win::RegKey; 52 using base::win::RegKey;
57 53
58 namespace installer { 54 namespace installer {
59 55
60 namespace { 56 namespace {
61 57
62 enum ElevationPolicyId {
63 CURRENT_ELEVATION_POLICY,
64 OLD_ELEVATION_POLICY,
65 };
66
67 // The version identifying the work done by setup.exe --configure-user-settings 58 // The version identifying the work done by setup.exe --configure-user-settings
68 // on user login by way of Active Setup. Increase this value if the work done 59 // on user login by way of Active Setup. Increase this value if the work done
69 // in setup_main.cc's handling of kConfigureUserSettings changes and should be 60 // in setup_main.cc's handling of kConfigureUserSettings changes and should be
70 // executed again for all users. 61 // executed again for all users.
71 const wchar_t kActiveSetupVersion[] = L"24,0,0,0"; 62 const wchar_t kActiveSetupVersion[] = L"24,0,0,0";
72 63
73 // Although the UUID of the ChromeFrame class is used for the "current" value, 64 // Although the UUID of the ChromeFrame class is used for the "current" value,
74 // this is done only as a convenience; there is no need for the GUID of the Low 65 // this is done only as a convenience; there is no need for the GUID of the Low
75 // Rights policies to match the ChromeFrame class's GUID. Hence, it is safe to 66 // Rights policies to match the ChromeFrame class's GUID. Hence, it is safe to
76 // use this completely unrelated GUID for the "old" policies. 67 // use this completely unrelated GUID for the "old" policies.
77 const wchar_t kIELowRightsPolicyOldGuid[] = 68 const wchar_t kIELowRightsPolicyOldGuid[] =
78 L"{6C288DD7-76FB-4721-B628-56FAC252E199}"; 69 L"{6C288DD7-76FB-4721-B628-56FAC252E199}";
79 70
80 #if defined(OMIT_CHROME_FRAME)
81 // For historical reasons, this GUID is the same as CLSID_ChromeFrame. Included
82 // here to break the dependency on Chrome Frame when Chrome Frame is not being
83 // built.
84 // TODO(robertshield): Remove this when Chrome Frame works with Aura.
85 const wchar_t kIELowRightsPolicyCurrentGuid[] =
86 L"{E0A900DF-9611-4446-86BD-4B1D47E7DB2A}";
87 #endif
88
89 const wchar_t kElevationPolicyKeyPath[] = 71 const wchar_t kElevationPolicyKeyPath[] =
90 L"SOFTWARE\\Microsoft\\Internet Explorer\\Low Rights\\ElevationPolicy\\"; 72 L"SOFTWARE\\Microsoft\\Internet Explorer\\Low Rights\\ElevationPolicy\\";
91 73
92 void GetIELowRightsElevationPolicyKeyPath(ElevationPolicyId policy, 74 void GetOldIELowRightsElevationPolicyKeyPath(base::string16* key_path) {
93 base::string16* key_path) {
94 DCHECK(policy == CURRENT_ELEVATION_POLICY || policy == OLD_ELEVATION_POLICY);
95 key_path->assign(kElevationPolicyKeyPath, 75 key_path->assign(kElevationPolicyKeyPath,
96 arraysize(kElevationPolicyKeyPath) - 1); 76 arraysize(kElevationPolicyKeyPath) - 1);
97 if (policy == CURRENT_ELEVATION_POLICY) { 77 key_path->append(kIELowRightsPolicyOldGuid,
98 #if defined(OMIT_CHROME_FRAME) 78 arraysize(kIELowRightsPolicyOldGuid)- 1);
99 key_path->append(kIELowRightsPolicyCurrentGuid,
100 arraysize(kIELowRightsPolicyCurrentGuid) - 1);
101 #else
102 wchar_t cf_clsid[64];
103 int len = StringFromGUID2(__uuidof(ChromeFrame), &cf_clsid[0],
104 arraysize(cf_clsid));
105 key_path->append(&cf_clsid[0], len - 1);
106 #endif
107 } else {
108 key_path->append(kIELowRightsPolicyOldGuid,
109 arraysize(kIELowRightsPolicyOldGuid)- 1);
110 }
111 } 79 }
112 80
113 // Local helper to call AddRegisterComDllWorkItems for all DLLs in a set of 81 // Local helper to call AddRegisterComDllWorkItems for all DLLs in a set of
114 // products managed by a given package. 82 // products managed by a given package.
115 // |old_version| can be NULL to indicate no Chrome is currently installed. 83 // |old_version| can be NULL to indicate no Chrome is currently installed.
116 void AddRegisterComDllWorkItemsForPackage(const InstallerState& installer_state, 84 void AddRegisterComDllWorkItemsForPackage(const InstallerState& installer_state,
117 const Version* old_version, 85 const Version* old_version,
118 const Version& new_version, 86 const Version& new_version,
119 WorkItemList* work_item_list) { 87 WorkItemList* work_item_list) {
120 // First collect the list of DLLs to be registered from each product. 88 // First collect the list of DLLs to be registered from each product.
(...skipping 1246 matching lines...) Expand 10 before | Expand all | Expand 10 after
1367 list->AddSetRegValueWorkItem(root, active_setup_path, L"Version", 1335 list->AddSetRegValueWorkItem(root, active_setup_path, L"Version",
1368 kActiveSetupVersion, true); 1336 kActiveSetupVersion, true);
1369 } 1337 }
1370 1338
1371 void AddDeleteOldIELowRightsPolicyWorkItems( 1339 void AddDeleteOldIELowRightsPolicyWorkItems(
1372 const InstallerState& installer_state, 1340 const InstallerState& installer_state,
1373 WorkItemList* install_list) { 1341 WorkItemList* install_list) {
1374 DCHECK(install_list); 1342 DCHECK(install_list);
1375 1343
1376 base::string16 key_path; 1344 base::string16 key_path;
1377 GetIELowRightsElevationPolicyKeyPath(OLD_ELEVATION_POLICY, &key_path); 1345 GetOldIELowRightsElevationPolicyKeyPath(&key_path);
1378 install_list->AddDeleteRegKeyWorkItem(installer_state.root_key(), key_path); 1346 install_list->AddDeleteRegKeyWorkItem(installer_state.root_key(), key_path);
1379 } 1347 }
1380 1348
1381 void AppendUninstallCommandLineFlags(const InstallerState& installer_state, 1349 void AppendUninstallCommandLineFlags(const InstallerState& installer_state,
1382 const Product& product, 1350 const Product& product,
1383 CommandLine* uninstall_cmd) { 1351 CommandLine* uninstall_cmd) {
1384 DCHECK(uninstall_cmd); 1352 DCHECK(uninstall_cmd);
1385 1353
1386 uninstall_cmd->AppendSwitch(installer::switches::kUninstall); 1354 uninstall_cmd->AppendSwitch(installer::switches::kUninstall);
1387 1355
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1489 // Unconditionally remove the legacy Quick Enable command from the binaries. 1457 // Unconditionally remove the legacy Quick Enable command from the binaries.
1490 // Do this even if multi-install Chrome isn't installed to ensure that it is 1458 // Do this even if multi-install Chrome isn't installed to ensure that it is
1491 // not left behind in any case. 1459 // not left behind in any case.
1492 work_item_list->AddDeleteRegKeyWorkItem( 1460 work_item_list->AddDeleteRegKeyWorkItem(
1493 installer_state.root_key(), cmd_key)->set_log_message( 1461 installer_state.root_key(), cmd_key)->set_log_message(
1494 "removing " + WideToASCII(kCmdQuickEnableCf) + " command"); 1462 "removing " + WideToASCII(kCmdQuickEnableCf) + " command");
1495 1463
1496 } 1464 }
1497 1465
1498 } // namespace installer 1466 } // namespace installer
OLDNEW
« no previous file with comments | « chrome/installer/mini_installer/chrome.release ('k') | chrome/tools/build/win/FILES.cfg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698