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

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

Issue 7386002: Rename CommandLine::GetCommandLineString(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge. Created 9 years, 5 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
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 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 <shlobj.h> 10 #include <shlobj.h>
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 p.AppendUninstallFlags(&uninstall_arguments); 149 p.AppendUninstallFlags(&uninstall_arguments);
150 } 150 }
151 } 151 }
152 152
153 std::wstring update_state_key(browser_dist->GetStateKey()); 153 std::wstring update_state_key(browser_dist->GetStateKey());
154 install_list->AddCreateRegKeyWorkItem(reg_root, update_state_key); 154 install_list->AddCreateRegKeyWorkItem(reg_root, update_state_key);
155 install_list->AddSetRegValueWorkItem(reg_root, update_state_key, 155 install_list->AddSetRegValueWorkItem(reg_root, update_state_key,
156 installer::kUninstallStringField, installer_path.value(), true); 156 installer::kUninstallStringField, installer_path.value(), true);
157 install_list->AddSetRegValueWorkItem(reg_root, update_state_key, 157 install_list->AddSetRegValueWorkItem(reg_root, update_state_key,
158 installer::kUninstallArgumentsField, 158 installer::kUninstallArgumentsField,
159 uninstall_arguments.command_line_string(), true); 159 uninstall_arguments.GetCommandLineString(), true);
160 160
161 // MSI installations will manage their own uninstall shortcuts. 161 // MSI installations will manage their own uninstall shortcuts.
162 if (!installer_state.is_msi() && product.ShouldCreateUninstallEntry()) { 162 if (!installer_state.is_msi() && product.ShouldCreateUninstallEntry()) {
163 // We need to quote the command line for the Add/Remove Programs dialog. 163 // We need to quote the command line for the Add/Remove Programs dialog.
164 CommandLine quoted_uninstall_cmd(installer_path); 164 CommandLine quoted_uninstall_cmd(installer_path);
165 DCHECK_EQ(quoted_uninstall_cmd.command_line_string()[0], '"'); 165 DCHECK_EQ(quoted_uninstall_cmd.GetCommandLineString()[0], '"');
166 quoted_uninstall_cmd.AppendArguments(uninstall_arguments, false); 166 quoted_uninstall_cmd.AppendArguments(uninstall_arguments, false);
167 167
168 std::wstring uninstall_reg = browser_dist->GetUninstallRegPath(); 168 std::wstring uninstall_reg = browser_dist->GetUninstallRegPath();
169 install_list->AddCreateRegKeyWorkItem(reg_root, uninstall_reg); 169 install_list->AddCreateRegKeyWorkItem(reg_root, uninstall_reg);
170 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg, 170 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg,
171 installer::kUninstallDisplayNameField, 171 installer::kUninstallDisplayNameField,
172 browser_dist->GetAppShortCutName(), true); 172 browser_dist->GetAppShortCutName(), true);
173 install_list->AddSetRegValueWorkItem(reg_root, 173 install_list->AddSetRegValueWorkItem(reg_root,
174 uninstall_reg, installer::kUninstallStringField, 174 uninstall_reg, installer::kUninstallStringField,
175 quoted_uninstall_cmd.command_line_string(), true); 175 quoted_uninstall_cmd.GetCommandLineString(), true);
176 install_list->AddSetRegValueWorkItem(reg_root, 176 install_list->AddSetRegValueWorkItem(reg_root,
177 uninstall_reg, 177 uninstall_reg,
178 L"InstallLocation", 178 L"InstallLocation",
179 install_path.value(), 179 install_path.value(),
180 true); 180 true);
181 181
182 // DisplayIcon, NoModify and NoRepair 182 // DisplayIcon, NoModify and NoRepair
183 FilePath chrome_icon(install_path.Append(installer::kChromeExe)); 183 FilePath chrome_icon(install_path.Append(installer::kChromeExe));
184 ShellUtil::GetChromeIcon(product.distribution(), chrome_icon.value()); 184 ShellUtil::GetChromeIcon(product.distribution(), chrome_icon.value());
185 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg, 185 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg,
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 // However, as it stands, we don't have a way to know which distribution 558 // However, as it stands, we don't have a way to know which distribution
559 // will check the key and run the command, so we add it for all. The 559 // will check the key and run the command, so we add it for all. The
560 // first to run it will perform the operation and clean up the other 560 // first to run it will perform the operation and clean up the other
561 // values. 561 // values.
562 CommandLine product_rename_cmd(rename); 562 CommandLine product_rename_cmd(rename);
563 products[i]->AppendRenameFlags(&product_rename_cmd); 563 products[i]->AppendRenameFlags(&product_rename_cmd);
564 in_use_update_work_items->AddSetRegValueWorkItem( 564 in_use_update_work_items->AddSetRegValueWorkItem(
565 root, 565 root,
566 version_key, 566 version_key,
567 google_update::kRegRenameCmdField, 567 google_update::kRegRenameCmdField,
568 product_rename_cmd.command_line_string(), 568 product_rename_cmd.GetCommandLineString(),
569 true); 569 true);
570 } 570 }
571 571
572 if (current_version != NULL && installer_state.is_multi_install()) { 572 if (current_version != NULL && installer_state.is_multi_install()) {
573 BrowserDistribution* dist = 573 BrowserDistribution* dist =
574 installer_state.multi_package_binaries_distribution(); 574 installer_state.multi_package_binaries_distribution();
575 in_use_update_work_items->AddSetRegValueWorkItem( 575 in_use_update_work_items->AddSetRegValueWorkItem(
576 root, 576 root,
577 dist->GetVersionKey(), 577 dist->GetVersionKey(),
578 google_update::kRegOldVersionField, 578 google_update::kRegOldVersionField,
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 CommandLine opt_out(installer_path); 842 CommandLine opt_out(installer_path);
843 AppendUninstallCommandLineFlags(installer_state, product, &opt_out); 843 AppendUninstallCommandLineFlags(installer_state, product, &opt_out);
844 // Force Uninstall silences the prompt to reboot to complete uninstall. 844 // Force Uninstall silences the prompt to reboot to complete uninstall.
845 opt_out.AppendSwitch(switches::kForceUninstall); 845 opt_out.AppendSwitch(switches::kForceUninstall);
846 846
847 CommandLine opt_in(basic_cl); 847 CommandLine opt_in(basic_cl);
848 opt_in.AppendSwitch(switches::kChromeFrameReadyModeOptIn); 848 opt_in.AppendSwitch(switches::kChromeFrameReadyModeOptIn);
849 849
850 list->AddSetRegValueWorkItem(root, version_key, 850 list->AddSetRegValueWorkItem(root, version_key,
851 google_update::kRegCFTempOptOutCmdField, 851 google_update::kRegCFTempOptOutCmdField,
852 temp_opt_out.command_line_string(), true); 852 temp_opt_out.GetCommandLineString(), true);
853 list->AddSetRegValueWorkItem(root, version_key, 853 list->AddSetRegValueWorkItem(root, version_key,
854 google_update::kRegCFEndTempOptOutCmdField, 854 google_update::kRegCFEndTempOptOutCmdField,
855 end_temp_opt_out.command_line_string(), 855 end_temp_opt_out.GetCommandLineString(),
856 true); 856 true);
857 list->AddSetRegValueWorkItem(root, version_key, 857 list->AddSetRegValueWorkItem(root, version_key,
858 google_update::kRegCFOptOutCmdField, 858 google_update::kRegCFOptOutCmdField,
859 opt_out.command_line_string(), true); 859 opt_out.GetCommandLineString(), true);
860 list->AddSetRegValueWorkItem(root, version_key, 860 list->AddSetRegValueWorkItem(root, version_key,
861 google_update::kRegCFOptInCmdField, 861 google_update::kRegCFOptInCmdField,
862 opt_in.command_line_string(), true); 862 opt_in.GetCommandLineString(), true);
863 } else { 863 } else {
864 // If Chrome is not also being uninstalled, we need to update its command 864 // If Chrome is not also being uninstalled, we need to update its command
865 // line so that it doesn't include uninstalling Chrome Frame now. 865 // line so that it doesn't include uninstalling Chrome Frame now.
866 update_chrome_uninstall_command = 866 update_chrome_uninstall_command =
867 (installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER) == 867 (installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER) ==
868 NULL); 868 NULL);
869 } 869 }
870 } else { 870 } else {
871 // It doesn't matter here if we're installing or uninstalling Chrome Frame. 871 // It doesn't matter here if we're installing or uninstalling Chrome Frame.
872 // If ready mode isn't specified on the command line for installs, we need 872 // If ready mode isn't specified on the command line for installs, we need
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
1150 1150
1151 if (operation == ADD_COMMAND) { 1151 if (operation == ADD_COMMAND) {
1152 DCHECK(!binaries_setup_path.empty()); 1152 DCHECK(!binaries_setup_path.empty());
1153 CommandLine cmd_line(binaries_setup_path); 1153 CommandLine cmd_line(binaries_setup_path);
1154 cmd_line.AppendSwitch(switches::kMultiInstall); 1154 cmd_line.AppendSwitch(switches::kMultiInstall);
1155 if (installer_state.system_install()) 1155 if (installer_state.system_install())
1156 cmd_line.AppendSwitch(switches::kSystemLevel); 1156 cmd_line.AppendSwitch(switches::kSystemLevel);
1157 if (installer_state.verbose_logging()) 1157 if (installer_state.verbose_logging())
1158 cmd_line.AppendSwitch(switches::kVerboseLogging); 1158 cmd_line.AppendSwitch(switches::kVerboseLogging);
1159 cmd_line.AppendSwitch(switches::kChromeFrameQuickEnable); 1159 cmd_line.AppendSwitch(switches::kChromeFrameQuickEnable);
1160 AppCommand cmd(cmd_line.command_line_string(), true, true); 1160 AppCommand cmd(cmd_line.GetCommandLineString(), true, true);
1161 cmd.AddWorkItems(installer_state.root_key(), cmd_key, work_item_list); 1161 cmd.AddWorkItems(installer_state.root_key(), cmd_key, work_item_list);
1162 } else { 1162 } else {
1163 DCHECK(operation == REMOVE_COMMAND); 1163 DCHECK(operation == REMOVE_COMMAND);
1164 work_item_list->AddDeleteRegKeyWorkItem(installer_state.root_key(), 1164 work_item_list->AddDeleteRegKeyWorkItem(installer_state.root_key(),
1165 cmd_key)->set_log_message( 1165 cmd_key)->set_log_message(
1166 "removing quick-enable-cf command"); 1166 "removing quick-enable-cf command");
1167 } 1167 }
1168 } 1168 }
1169 } 1169 }
1170 1170
1171 } // namespace installer 1171 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698