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

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
« no previous file with comments | « chrome/installer/setup/install.cc ('k') | chrome/installer/setup/setup_main.cc » ('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) 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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 p.AppendUninstallFlags(&uninstall_arguments); 151 p.AppendUninstallFlags(&uninstall_arguments);
152 } 152 }
153 } 153 }
154 154
155 std::wstring update_state_key(browser_dist->GetStateKey()); 155 std::wstring update_state_key(browser_dist->GetStateKey());
156 install_list->AddCreateRegKeyWorkItem(reg_root, update_state_key); 156 install_list->AddCreateRegKeyWorkItem(reg_root, update_state_key);
157 install_list->AddSetRegValueWorkItem(reg_root, update_state_key, 157 install_list->AddSetRegValueWorkItem(reg_root, update_state_key,
158 installer::kUninstallStringField, installer_path.value(), true); 158 installer::kUninstallStringField, installer_path.value(), true);
159 install_list->AddSetRegValueWorkItem(reg_root, update_state_key, 159 install_list->AddSetRegValueWorkItem(reg_root, update_state_key,
160 installer::kUninstallArgumentsField, 160 installer::kUninstallArgumentsField,
161 uninstall_arguments.command_line_string(), true); 161 uninstall_arguments.GetCommandLineString(), true);
162 162
163 // MSI installations will manage their own uninstall shortcuts. 163 // MSI installations will manage their own uninstall shortcuts.
164 if (!installer_state.is_msi() && product.ShouldCreateUninstallEntry()) { 164 if (!installer_state.is_msi() && product.ShouldCreateUninstallEntry()) {
165 // We need to quote the command line for the Add/Remove Programs dialog. 165 // We need to quote the command line for the Add/Remove Programs dialog.
166 CommandLine quoted_uninstall_cmd(installer_path); 166 CommandLine quoted_uninstall_cmd(installer_path);
167 DCHECK_EQ(quoted_uninstall_cmd.command_line_string()[0], '"'); 167 DCHECK_EQ(quoted_uninstall_cmd.GetCommandLineString()[0], '"');
168 quoted_uninstall_cmd.AppendArguments(uninstall_arguments, false); 168 quoted_uninstall_cmd.AppendArguments(uninstall_arguments, false);
169 169
170 std::wstring uninstall_reg = browser_dist->GetUninstallRegPath(); 170 std::wstring uninstall_reg = browser_dist->GetUninstallRegPath();
171 install_list->AddCreateRegKeyWorkItem(reg_root, uninstall_reg); 171 install_list->AddCreateRegKeyWorkItem(reg_root, uninstall_reg);
172 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg, 172 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg,
173 installer::kUninstallDisplayNameField, 173 installer::kUninstallDisplayNameField,
174 browser_dist->GetAppShortCutName(), true); 174 browser_dist->GetAppShortCutName(), true);
175 install_list->AddSetRegValueWorkItem(reg_root, 175 install_list->AddSetRegValueWorkItem(reg_root,
176 uninstall_reg, installer::kUninstallStringField, 176 uninstall_reg, installer::kUninstallStringField,
177 quoted_uninstall_cmd.command_line_string(), true); 177 quoted_uninstall_cmd.GetCommandLineString(), true);
178 install_list->AddSetRegValueWorkItem(reg_root, 178 install_list->AddSetRegValueWorkItem(reg_root,
179 uninstall_reg, 179 uninstall_reg,
180 L"InstallLocation", 180 L"InstallLocation",
181 install_path.value(), 181 install_path.value(),
182 true); 182 true);
183 183
184 // DisplayIcon, NoModify and NoRepair 184 // DisplayIcon, NoModify and NoRepair
185 FilePath chrome_icon(install_path.Append(installer::kChromeExe)); 185 FilePath chrome_icon(install_path.Append(installer::kChromeExe));
186 ShellUtil::GetChromeIcon(product.distribution(), chrome_icon.value()); 186 ShellUtil::GetChromeIcon(product.distribution(), chrome_icon.value());
187 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg, 187 install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg,
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 // However, as it stands, we don't have a way to know which distribution 582 // However, as it stands, we don't have a way to know which distribution
583 // will check the key and run the command, so we add it for all. The 583 // will check the key and run the command, so we add it for all. The
584 // first to run it will perform the operation and clean up the other 584 // first to run it will perform the operation and clean up the other
585 // values. 585 // values.
586 CommandLine product_rename_cmd(rename); 586 CommandLine product_rename_cmd(rename);
587 products[i]->AppendRenameFlags(&product_rename_cmd); 587 products[i]->AppendRenameFlags(&product_rename_cmd);
588 in_use_update_work_items->AddSetRegValueWorkItem( 588 in_use_update_work_items->AddSetRegValueWorkItem(
589 root, 589 root,
590 version_key, 590 version_key,
591 google_update::kRegRenameCmdField, 591 google_update::kRegRenameCmdField,
592 product_rename_cmd.command_line_string(), 592 product_rename_cmd.GetCommandLineString(),
593 true); 593 true);
594 } 594 }
595 595
596 if (current_version != NULL && installer_state.is_multi_install()) { 596 if (current_version != NULL && installer_state.is_multi_install()) {
597 BrowserDistribution* dist = 597 BrowserDistribution* dist =
598 installer_state.multi_package_binaries_distribution(); 598 installer_state.multi_package_binaries_distribution();
599 in_use_update_work_items->AddSetRegValueWorkItem( 599 in_use_update_work_items->AddSetRegValueWorkItem(
600 root, 600 root,
601 dist->GetVersionKey(), 601 dist->GetVersionKey(),
602 google_update::kRegOldVersionField, 602 google_update::kRegOldVersionField,
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 CommandLine opt_out(installer_path); 881 CommandLine opt_out(installer_path);
882 AppendUninstallCommandLineFlags(installer_state, product, &opt_out); 882 AppendUninstallCommandLineFlags(installer_state, product, &opt_out);
883 // Force Uninstall silences the prompt to reboot to complete uninstall. 883 // Force Uninstall silences the prompt to reboot to complete uninstall.
884 opt_out.AppendSwitch(switches::kForceUninstall); 884 opt_out.AppendSwitch(switches::kForceUninstall);
885 885
886 CommandLine opt_in(basic_cl); 886 CommandLine opt_in(basic_cl);
887 opt_in.AppendSwitch(switches::kChromeFrameReadyModeOptIn); 887 opt_in.AppendSwitch(switches::kChromeFrameReadyModeOptIn);
888 888
889 list->AddSetRegValueWorkItem(root, version_key, 889 list->AddSetRegValueWorkItem(root, version_key,
890 google_update::kRegCFTempOptOutCmdField, 890 google_update::kRegCFTempOptOutCmdField,
891 temp_opt_out.command_line_string(), true); 891 temp_opt_out.GetCommandLineString(), true);
892 list->AddSetRegValueWorkItem(root, version_key, 892 list->AddSetRegValueWorkItem(root, version_key,
893 google_update::kRegCFEndTempOptOutCmdField, 893 google_update::kRegCFEndTempOptOutCmdField,
894 end_temp_opt_out.command_line_string(), 894 end_temp_opt_out.GetCommandLineString(),
895 true); 895 true);
896 list->AddSetRegValueWorkItem(root, version_key, 896 list->AddSetRegValueWorkItem(root, version_key,
897 google_update::kRegCFOptOutCmdField, 897 google_update::kRegCFOptOutCmdField,
898 opt_out.command_line_string(), true); 898 opt_out.GetCommandLineString(), true);
899 list->AddSetRegValueWorkItem(root, version_key, 899 list->AddSetRegValueWorkItem(root, version_key,
900 google_update::kRegCFOptInCmdField, 900 google_update::kRegCFOptInCmdField,
901 opt_in.command_line_string(), true); 901 opt_in.GetCommandLineString(), true);
902 } else { 902 } else {
903 // If Chrome is not also being uninstalled, we need to update its command 903 // If Chrome is not also being uninstalled, we need to update its command
904 // line so that it doesn't include uninstalling Chrome Frame now. 904 // line so that it doesn't include uninstalling Chrome Frame now.
905 update_chrome_uninstall_command = 905 update_chrome_uninstall_command =
906 (installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER) == 906 (installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER) ==
907 NULL); 907 NULL);
908 } 908 }
909 } else { 909 } else {
910 // It doesn't matter here if we're installing or uninstalling Chrome Frame. 910 // It doesn't matter here if we're installing or uninstalling Chrome Frame.
911 // If ready mode isn't specified on the command line for installs, we need 911 // 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
1189 1189
1190 if (operation == ADD_COMMAND) { 1190 if (operation == ADD_COMMAND) {
1191 DCHECK(!binaries_setup_path.empty()); 1191 DCHECK(!binaries_setup_path.empty());
1192 CommandLine cmd_line(binaries_setup_path); 1192 CommandLine cmd_line(binaries_setup_path);
1193 cmd_line.AppendSwitch(switches::kMultiInstall); 1193 cmd_line.AppendSwitch(switches::kMultiInstall);
1194 if (installer_state.system_install()) 1194 if (installer_state.system_install())
1195 cmd_line.AppendSwitch(switches::kSystemLevel); 1195 cmd_line.AppendSwitch(switches::kSystemLevel);
1196 if (installer_state.verbose_logging()) 1196 if (installer_state.verbose_logging())
1197 cmd_line.AppendSwitch(switches::kVerboseLogging); 1197 cmd_line.AppendSwitch(switches::kVerboseLogging);
1198 cmd_line.AppendSwitch(switches::kChromeFrameQuickEnable); 1198 cmd_line.AppendSwitch(switches::kChromeFrameQuickEnable);
1199 AppCommand cmd(cmd_line.command_line_string(), true, true); 1199 AppCommand cmd(cmd_line.GetCommandLineString(), true, true);
1200 cmd.AddWorkItems(installer_state.root_key(), cmd_key, work_item_list); 1200 cmd.AddWorkItems(installer_state.root_key(), cmd_key, work_item_list);
1201 } else { 1201 } else {
1202 DCHECK(operation == REMOVE_COMMAND); 1202 DCHECK(operation == REMOVE_COMMAND);
1203 work_item_list->AddDeleteRegKeyWorkItem(installer_state.root_key(), 1203 work_item_list->AddDeleteRegKeyWorkItem(installer_state.root_key(),
1204 cmd_key)->set_log_message( 1204 cmd_key)->set_log_message(
1205 "removing quick-enable-cf command"); 1205 "removing quick-enable-cf command");
1206 } 1206 }
1207 } 1207 }
1208 } 1208 }
1209 1209
1210 } // namespace installer 1210 } // namespace installer
OLDNEW
« no previous file with comments | « chrome/installer/setup/install.cc ('k') | chrome/installer/setup/setup_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698