summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-30 22:41:21 +0000
committergab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-30 22:41:21 +0000
commitf993f99b6e15d4a332884639ed9729f04f728d84 (patch)
treecf028faaf8f7a3e11882e9e5a328f268a8c2d148
parent501e2d4ea3c5d685fec8b34618a79964fe2945a7 (diff)
downloadchromium_src-f993f99b6e15d4a332884639ed9729f04f728d84.zip
chromium_src-f993f99b6e15d4a332884639ed9729f04f728d84.tar.gz
chromium_src-f993f99b6e15d4a332884639ed9729f04f728d84.tar.bz2
Chromium didn't have an Active Setup GUID -- fix that.
This would have caused the installer to write straight into Software\Microsoft\Active Setup\Installed Components if Chromium was installed at system-level... Separated AppGuid from ActiveSetupGuid as the AppGuid is really a Google Update construct only. R=robertshield@chromium.org Review URL: https://chromiumcodereview.appspot.com/12041025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179715 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/installer/util/browser_distribution.cc7
-rw-r--r--chrome/installer/util/browser_distribution.h3
-rw-r--r--chrome/installer/util/google_chrome_distribution.cc4
-rw-r--r--chrome/installer/util/google_chrome_distribution.h2
-rw-r--r--chrome/installer/util/google_chrome_distribution_dummy.cc5
-rw-r--r--chrome/installer/util/install_util.cc2
6 files changed, 22 insertions, 1 deletions
diff --git a/chrome/installer/util/browser_distribution.cc b/chrome/installer/util/browser_distribution.cc
index 7f334b3..f447c04 100644
--- a/chrome/installer/util/browser_distribution.cc
+++ b/chrome/installer/util/browser_distribution.cc
@@ -33,6 +33,9 @@ using installer::MasterPreferences;
namespace {
+const wchar_t kChromiumActiveSetupGuid[] =
+ L"{7D2B3E1D-D096-4594-9D8F-A6667F12E0AC}";
+
const wchar_t kCommandExecuteImplUuid[] =
L"{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}";
@@ -139,6 +142,10 @@ void BrowserDistribution::DoPostUninstallOperations(
const string16& distribution_data) {
}
+string16 BrowserDistribution::GetActiveSetupGuid() {
+ return kChromiumActiveSetupGuid;
+}
+
string16 BrowserDistribution::GetAppGuid() {
return L"";
}
diff --git a/chrome/installer/util/browser_distribution.h b/chrome/installer/util/browser_distribution.h
index 9b01f7b..a5ec525 100644
--- a/chrome/installer/util/browser_distribution.h
+++ b/chrome/installer/util/browser_distribution.h
@@ -67,6 +67,9 @@ class BrowserDistribution {
const FilePath& local_data_path,
const string16& distribution_data);
+ // Returns the GUID to be used when registering for Active Setup.
+ virtual string16 GetActiveSetupGuid();
+
virtual string16 GetAppGuid();
// Returns the unsuffixed application name of this program.
diff --git a/chrome/installer/util/google_chrome_distribution.cc b/chrome/installer/util/google_chrome_distribution.cc
index 3433b96..b37e611 100644
--- a/chrome/installer/util/google_chrome_distribution.cc
+++ b/chrome/installer/util/google_chrome_distribution.cc
@@ -407,6 +407,10 @@ void GoogleChromeDistribution::DoPostUninstallOperations(
installer::WMIProcess::Launch(command, &pid);
}
+string16 GoogleChromeDistribution::GetActiveSetupGuid() {
+ return product_guid();
+}
+
string16 GoogleChromeDistribution::GetAppGuid() {
return product_guid();
}
diff --git a/chrome/installer/util/google_chrome_distribution.h b/chrome/installer/util/google_chrome_distribution.h
index d207bd1..0a315bd 100644
--- a/chrome/installer/util/google_chrome_distribution.h
+++ b/chrome/installer/util/google_chrome_distribution.h
@@ -35,6 +35,8 @@ class GoogleChromeDistribution : public BrowserDistribution {
const FilePath& local_data_path,
const string16& distribution_data) OVERRIDE;
+ virtual string16 GetActiveSetupGuid() OVERRIDE;
+
virtual string16 GetAppGuid() OVERRIDE;
virtual string16 GetBaseAppName() OVERRIDE;
diff --git a/chrome/installer/util/google_chrome_distribution_dummy.cc b/chrome/installer/util/google_chrome_distribution_dummy.cc
index ce7d657..cf8d619 100644
--- a/chrome/installer/util/google_chrome_distribution_dummy.cc
+++ b/chrome/installer/util/google_chrome_distribution_dummy.cc
@@ -26,6 +26,11 @@ void GoogleChromeDistribution::DoPostUninstallOperations(
const string16& distribution_data) {
}
+string16 GoogleChromeDistribution::GetActiveSetupGuid() {
+ NOTREACHED();
+ return string16();
+}
+
string16 GoogleChromeDistribution::GetAppGuid() {
NOTREACHED();
return string16();
diff --git a/chrome/installer/util/install_util.cc b/chrome/installer/util/install_util.cc
index fb751e53..c9a6230 100644
--- a/chrome/installer/util/install_util.cc
+++ b/chrome/installer/util/install_util.cc
@@ -124,7 +124,7 @@ HWND CreateUACForegroundWindow() {
string16 InstallUtil::GetActiveSetupPath(BrowserDistribution* dist) {
static const wchar_t kInstalledComponentsPath[] =
L"Software\\Microsoft\\Active Setup\\Installed Components\\";
- return kInstalledComponentsPath + dist->GetAppGuid();
+ return kInstalledComponentsPath + dist->GetActiveSetupGuid();
}
void InstallUtil::TriggerActiveSetupCommand() {