diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-23 19:54:02 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-23 19:54:02 +0000 |
commit | 36b6f4f462adc4ff57d65acef4c60939c2dfd8fe (patch) | |
tree | 38f40e2fa1773ff67ccb6b2283bf722fa54c9ab5 /chrome/installer/util/master_preferences_constants.cc | |
parent | 15e7eba9c74140f4e976c0d152ba738c36f14bb5 (diff) | |
download | chromium_src-36b6f4f462adc4ff57d65acef4c60939c2dfd8fe.zip chromium_src-36b6f4f462adc4ff57d65acef4c60939c2dfd8fe.tar.gz chromium_src-36b6f4f462adc4ff57d65acef4c60939c2dfd8fe.tar.bz2 |
Support for GCF ready-mode.
The installer can now be run in a way that installs both Chrome and Chrome Frame
at the same time, into a shared directory. The command line to do this is:
mini_installer.exe --multi-install --chrome --chrome-frame --ready-mode
--system-level --verbose-logging
This installs both products although only Chrome will have an entry in the
add/remove programs dialog that serves as an uninstallation command for both
products. Chrome Frame will be installed in ready-mode, which means that the
user will have to opt-in or opt-out of using it. The installer will create a
REG_DWORD value to indicate this mode, here:
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Update\ClientState\{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}
Value name: ChromeFrameReadyMode
Value: 1
If the user opts-in to use GCF, setup will be run again to remove this value,
update Chrome's uninstallation commands to only uninstall Chrome, and add an
entry to the Add/Remove Programs dialog for GCF. To do this, the installer
needs to be run with this switch:
--multi-install --chrome-frame --system-level --ready-mode-opt-in --verbose-logging
If the user opts-out, Chrome Frame will be uninstalled by running the installer
with these arguments:
--uninstall --chrome-frame --ready-mode --system-level --multi-install --verbose-logging
In addition to uninstalling GCF, this updates Chrome's uninstallation commands
accordingly and sets the ChromeFrameReadyMode value to 0 to avoid enabling ready
mode again.
Requirements that must currently be met in order to install Chrome and Chrome
Frame into the same shared location:
- Chrome Frame must not already be installed
OR
- Chrome Frame must be already installed as multi, into the shared location
**** other changes ****
The installer does no use the ap value for detecting other multi-install
products anymore. Instead we inspect the uninstallation switches to see if
--multi-install is present. Updated unit tests accordingly.
When uninstalling Chrome Frame along with Chrome, the Chrome Frame
uninstallation prompt is not shown.
Added safeguards:
If we attempt to install Chrome Frame multi over a single, install aborts and returns an error.
If we attempt to install Chrome Frame single over a multi, install aborts and returns an error.
TEST=See description above.
BUG=61609
Review URL: http://codereview.chromium.org/5989007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70083 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/util/master_preferences_constants.cc')
-rw-r--r-- | chrome/installer/util/master_preferences_constants.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/chrome/installer/util/master_preferences_constants.cc b/chrome/installer/util/master_preferences_constants.cc index 0b71d9e..cea5b7f 100644 --- a/chrome/installer/util/master_preferences_constants.cc +++ b/chrome/installer/util/master_preferences_constants.cc @@ -11,6 +11,7 @@ namespace master_preferences { const char kCeee[] = "ceee"; const char kChrome[] = "chrome"; const char kChromeFrame[] = "chrome_frame"; + const char kChromeFrameReadyMode[] = "ready_mode"; const char kChromeShortcutIconIndex[] = "chrome_shortcut_icon_index"; const char kCreateAllShortcuts[] = "create_all_shortcuts"; const char kDisableLogging[] = "disable_logging"; |