summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/google_chrome_distribution.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/installer/util/google_chrome_distribution.cc')
-rw-r--r--chrome/installer/util/google_chrome_distribution.cc62
1 files changed, 3 insertions, 59 deletions
diff --git a/chrome/installer/util/google_chrome_distribution.cc b/chrome/installer/util/google_chrome_distribution.cc
index b1b22df..a79caf1 100644
--- a/chrome/installer/util/google_chrome_distribution.cc
+++ b/chrome/installer/util/google_chrome_distribution.cc
@@ -364,32 +364,6 @@ std::wstring GoogleChromeDistribution::GetInstallSubDir() {
return sub_dir;
}
-std::wstring GoogleChromeDistribution::GetNewGoogleUpdateApKey(
- bool diff_install, installer_util::InstallStatus status,
- const std::wstring& value) {
- // Magic suffix that we need to add or remove to "ap" key value.
- const std::wstring kMagicSuffix = L"-full";
-
- bool has_magic_string = false;
- if ((value.length() >= kMagicSuffix.length()) &&
- (value.rfind(kMagicSuffix) == (value.length() - kMagicSuffix.length()))) {
- LOG(INFO) << "Incremental installer failure key already set.";
- has_magic_string = true;
- }
-
- std::wstring new_value(value);
- if ((!diff_install || !GetInstallReturnCode(status)) && has_magic_string) {
- LOG(INFO) << "Removing failure key from value " << value;
- new_value = value.substr(0, value.length() - kMagicSuffix.length());
- } else if ((diff_install && GetInstallReturnCode(status)) &&
- !has_magic_string) {
- LOG(INFO) << "Incremental installer failed, setting failure key.";
- new_value.append(kMagicSuffix);
- }
-
- return new_value;
-}
-
std::wstring GoogleChromeDistribution::GetPublisherName() {
const std::wstring& publisher_name =
installer_util::GetLocalizedString(IDS_ABOUT_VERSION_COMPANY_NAME_BASE);
@@ -493,39 +467,9 @@ std::wstring GoogleChromeDistribution::GetEnvVersionKey() {
// There is no fall-back for full installer :)
void GoogleChromeDistribution::UpdateDiffInstallStatus(bool system_install,
bool incremental_install, installer_util::InstallStatus install_status) {
- HKEY reg_root = (system_install) ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
-
- RegKey key;
- std::wstring ap_key_value;
- std::wstring reg_key(google_update::kRegPathClientState);
- reg_key.append(L"\\");
- reg_key.append(product_guid());
- if (!key.Open(reg_root, reg_key.c_str(), KEY_ALL_ACCESS) ||
- !key.ReadValue(google_update::kRegApField, &ap_key_value)) {
- LOG(INFO) << "Application key not found.";
- if (!incremental_install || !GetInstallReturnCode(install_status)) {
- LOG(INFO) << "Returning without changing application key.";
- key.Close();
- return;
- } else if (!key.Valid()) {
- reg_key.assign(google_update::kRegPathClientState);
- if (!key.Open(reg_root, reg_key.c_str(), KEY_ALL_ACCESS) ||
- !key.CreateKey(product_guid().c_str(), KEY_ALL_ACCESS)) {
- LOG(ERROR) << "Failed to create application key.";
- key.Close();
- return;
- }
- }
- }
-
- std::wstring new_value = GoogleChromeDistribution::GetNewGoogleUpdateApKey(
- incremental_install, install_status, ap_key_value);
- if ((new_value.compare(ap_key_value) != 0) &&
- !key.WriteValue(google_update::kRegApField, new_value.c_str())) {
- LOG(ERROR) << "Failed to write value " << new_value
- << " to the registry field " << google_update::kRegApField;
- }
- key.Close();
+ GoogleUpdateSettings::UpdateDiffInstallStatus(system_install,
+ incremental_install, GetInstallReturnCode(install_status),
+ product_guid().c_str());
}
// The functions below are not used by the 64-bit Windows binary -