summaryrefslogtreecommitdiffstats
path: root/chrome/chrome_installer_util.gypi
Commit message (Collapse)AuthorAgeFilesLines
* (re-commit) Implement installation of the Chrome App Host.erikwright@chromium.org2012-07-201-1/+7
| | | | | | | | | | | | | | | | The Chrome App Host is a simple exe that delegates to a Chrome Binaries installation at user or system level. If no installation is available, it will trigger an installation. The Chrome App Host prevents the Chrome Binaries from being uninstalled, except in the case of an upgrade to system-level. Patchset 1 is http://codereview.chromium.org/10665002/ (reverted). BUG=None TEST=None TBR=tommi Review URL: https://chromiumcodereview.appspot.com/10805043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147696 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 147650 - Implement installation of the Chrome App Host.erikwright@chromium.org2012-07-201-7/+1
| | | | | | | | | | | | | | | | | | The Chrome App Host is a simple exe that delegates to a Chrome Binaries installation at user or system level. If no installation is available, it will trigger an installation. The Chrome App Host prevents the Chrome Binaries from being uninstalled, except in the case of an upgrade to system-level. The Chrome App Host is implemented in this uncommitted CL: http://codereview.chromium.org/10559090/ . BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10665002 TBR=erikwright@chromium.org Review URL: https://chromiumcodereview.appspot.com/10797047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147668 0039d316-1c4b-4281-b951-d872f2087c98
* Implement installation of the Chrome App Host.erikwright@chromium.org2012-07-201-1/+7
| | | | | | | | | | | | | | | The Chrome App Host is a simple exe that delegates to a Chrome Binaries installation at user or system level. If no installation is available, it will trigger an installation. The Chrome App Host prevents the Chrome Binaries from being uninstalled, except in the case of an upgrade to system-level. The Chrome App Host is implemented in this uncommitted CL: http://codereview.chromium.org/10559090/ . BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10665002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147650 0039d316-1c4b-4281-b951-d872f2087c98
* fix incremental_chrome_dll shared build on windowsdpranke@chromium.org2012-04-251-1/+1
| | | | | | | | | | | | | | | | | | This patch applies patchset #2 from https://chromiumcodereview.appspot.com/10121004/ and then removes the changes to content_switches.cc (which weren't needed) and chrome_exe.gypi (which was not needed and was actually bad because it caused chrome.exe to depend on content.dll ). R=jam@chromium.org, vangelis@chromium.org, rogerta@chromium.org BUG=none TEST=local win build succeeds with incremental_chrome_dll = 1, all bots remain green. Review URL: https://chromiumcodereview.appspot.com/10166021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134008 0039d316-1c4b-4281-b951-d872f2087c98
* Make the auto-launch experiment profile-aware (attempt 2).finnur@chromium.org2012-02-151-0/+1
| | | | | | | | | | When writing to the registry key, append a hash of the profile directory path, so as to not clobber settings between profiles and add the --profile-directory=foo component to the directory as well. BUG=112118 TEST=Test this as you would test the autolaunch experiment normally (see original autolaunch bug), but make sure to test it with multiple profiles and side-by-side installations. Note: Only the Default profile gets to set this value at present time. Review URL: https://chromiumcodereview.appspot.com/9358052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122068 0039d316-1c4b-4281-b951-d872f2087c98
* Implement an AutoLaunch experiment for Chrome for certain brand codes. This ↵finnur@chromium.org2011-12-151-0/+2
| | | | | | | | | | is for Windows only. BUG=95971 TEST=This requires a special branded build to test (and master_preferences set to have auto_launch_chrome: true or specify mini_installer param --auto-launch-chrome), but after installing it you should see an item under the Wrench \ Options \ Basics that lets you configure Chrome to not auto-launch. If you instead, log out and log in again, Chrome should start with an infobar saying that it was auto-launched. The infobar should stay for a max of 5 launches and then not appear again. Pressing "Cut it out!" on the infobar should turn off this feature. If you just want to test the infobar, launch chrome with --auto-launch-at-startup. Also, uninstall and make sure Chrome is not auto-launched (a Windows error about Chrome not being found should not be shown). Review URL: http://codereview.chromium.org/8729009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114621 0039d316-1c4b-4281-b951-d872f2087c98
* Setup JS unittests for Chromotinggarykac@chromium.org2011-11-301-4/+4
| | | | | | | | | | BUG=none TEST=remoting_unittests --gtest_filter=DebugLogUnitTest.* Review URL: http://codereview.chromium.org/8599010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112252 0039d316-1c4b-4281-b951-d872f2087c98
* Enable content component (again!).dpranke@chromium.org2011-11-161-2/+17
| | | | | | | | | | | This version fixes a problem with the windows incremental linking build. We can't incrementally link chrome when content is being built as a DLL because chrome links in webkit_glue and webkit_glue depends on symbols defined in content. We can remove this when we fix glue. R=jam@chromium.org BUG=90442, 98755. Review URL: http://codereview.chromium.org/8570024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110360 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 109534 since this change broke clobbered component build.sadrul@chromium.org2011-11-111-17/+2
| | | | | | | | | | | | | | | | Original CL: reenable component build w/ fix to test_support_content TBR=jam@chromium.org BUG=90442 TEST=the win shared debug builder compiles Review URL: http://codereview.chromium.org/8501025 TBR=dpranke@chromium.org Review URL: http://codereview.chromium.org/8538016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109654 0039d316-1c4b-4281-b951-d872f2087c98
* reenable component build w/ fix to test_support_contentdpranke@chromium.org2011-11-101-2/+17
| | | | | | | | | | TBR=jam@chromium.org BUG=90442 TEST=the win shared debug builder compiles Review URL: http://codereview.chromium.org/8501025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109534 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108976 (broke win shared) - enable component build for contentthakis@chromium.org2011-11-081-17/+2
| | | | | | | | | | | | | R=jam@chromium.org BUG=90442 TEST= Review URL: http://codereview.chromium.org/8343068 TBR=dpranke@chromium.org Review URL: http://codereview.chromium.org/8496006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108979 0039d316-1c4b-4281-b951-d872f2087c98
* enable component build for contentdpranke@chromium.org2011-11-081-2/+17
| | | | | | | | | | R=jam@chromium.org BUG=90442 TEST= Review URL: http://codereview.chromium.org/8343068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108976 0039d316-1c4b-4281-b951-d872f2087c98
* Introduces chromium_resources.gyp to factor out Chrome resource generationdhollowa@chromium.org2011-11-031-4/+4
| | | | | | | | | | | | | | | | | | | | 1. Factors out Chrome/Chromium resource generation into a separate chrome_resources.gyp file. 2. Eliminates repetition between Mac and other platforms. 3. Breaks long "repack" actions out into separate files for greater readability. 4. Eliminates circular dependencies in the Aura shell, the Views components, and the compositor when utilizing Chrome resources. BUG=none TEST=try bots run gyps and build correctly. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107967 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=108466 Review URL: http://codereview.chromium.org/8425002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108517 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108466 - Introduces chromium_resources.gyp to factor out Chrome ↵dhollowa@chromium.org2011-11-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | resource generation 1. Factors out Chrome/Chromium resource generation into a separate chrome_resources.gyp file. 2. Eliminates repetition between Mac and other platforms. 3. Breaks long "repack" actions out into separate files for greater readability. 4. Eliminates circular dependencies in the Aura shell, the Views components, and the compositor when utilizing Chrome resources. BUG=none TEST=try bots run gyps and build correctly. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107967 Review URL: http://codereview.chromium.org/8425002 TBR=dhollowa@chromium.org Review URL: http://codereview.chromium.org/8448001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108468 0039d316-1c4b-4281-b951-d872f2087c98
* Introduces chromium_resources.gyp to factor out Chrome resource generationdhollowa@chromium.org2011-11-031-4/+4
| | | | | | | | | | | | | | | | | | 1. Factors out Chrome/Chromium resource generation into a separate chrome_resources.gyp file. 2. Eliminates repetition between Mac and other platforms. 3. Breaks long "repack" actions out into separate files for greater readability. 4. Eliminates circular dependencies in the Aura shell, the Views components, and the compositor when utilizing Chrome resources. BUG=none TEST=try bots run gyps and build correctly. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107967 Review URL: http://codereview.chromium.org/8425002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108466 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107967 - Introduces chromium_resources.gyp to factor out Chrome ↵dhollowa@chromium.org2011-10-311-4/+4
| | | | | | | | | | | | | | | | | | | | | resource generation 1. Factors out Chrome/Chromium resource generation into a separate chrome_resources.gyp file. 2. Eliminates repetition between Mac and other platforms. 3. Breaks long "repack" actions out into separate files for greater readability. 4. Eliminates circular dependencies in the Aura shell, the Views components, and the compositor when utilizing Chrome resources. BUG=none TEST=try bots run gyps and build correctly. Review URL: http://codereview.chromium.org/8425002 TBR=dhollowa@chromium.org Review URL: http://codereview.chromium.org/8430011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107984 0039d316-1c4b-4281-b951-d872f2087c98
* Introduces chromium_resources.gyp to factor out Chrome resource generationdhollowa@chromium.org2011-10-311-4/+4
| | | | | | | | | | | | | | | | 1. Factors out Chrome/Chromium resource generation into a separate chrome_resources.gyp file. 2. Eliminates repetition between Mac and other platforms. 3. Breaks long "repack" actions out into separate files for greater readability. 4. Eliminates circular dependencies in the Aura shell, the Views components, and the compositor when utilizing Chrome resources. BUG=none TEST=try bots run gyps and build correctly. Review URL: http://codereview.chromium.org/8425002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107967 0039d316-1c4b-4281-b951-d872f2087c98
* Added CopyRegKeyWorkItem in support of IE low rights policy fixes.grt@chromium.org2011-09-181-6/+10
| | | | | | | | | | | A subsequent CL will contain the rest of the fixes for the bug. BUG=95810 TEST=installer_util_unittests.exe Review URL: http://codereview.chromium.org/7890069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101684 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the comments setting emands and vim tab width and expansion variables.tony@chromium.org2011-07-111-6/+0
| | | | | | | | | | | | | | | | | These were added in r28089 (http://codereview.chromium.org/256059) but are unnecessary bloat for everyone to carry around, even those that don't use emacs or vim. In an earlier change, I added editor config files in src/tools/emacs/ and src/tools/vim/ so users of the appropriate editor can source those instead. BUG=none TEST=none Review URL: http://codereview.chromium.org/7310019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92046 0039d316-1c4b-4281-b951-d872f2087c98
* Remove msvs_guid in gyp files in src/chrome/.tony@chromium.org2011-06-231-2/+0
| | | | | | | | BUG=28727 Review URL: http://codereview.chromium.org/7191022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90243 0039d316-1c4b-4281-b951-d872f2087c98
* Globally replace <(library) with static_libraryevan@chromium.org2011-05-191-3/+3
| | | | | | | | | | | We provided <(library) as a variable to support a peculiar build configuration on Linux. We no longer support that build configuration, so we can simplify this code to no longer use a variable. Review URL: http://codereview.chromium.org/7051014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86004 0039d316-1c4b-4281-b951-d872f2087c98
* Alter MoveTreeWorkItem to provide an option to not copy over a directory ↵robertshield@chromium.org2011-05-121-0/+2
| | | | | | | | | | | | that contains similar files. This will be used to allow "repair" installs to succeed when the same version of the Chrome binaries are both in use and look similar (same files, same file sizes) but will still allow us to fix installs that have missing or obviously changed files. This should reduce a lot of the user-visible errors seen when people attempt to install version X of chrome on top of an already-running indentical version. BUG=82146 TEST=Install Chrome, run it, install it again. See a success message. Review URL: http://codereview.chromium.org/7001004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85133 0039d316-1c4b-4281-b951-d872f2087c98
* Base: More adjustments to BASE_API and project dependencies torvargas@google.com2011-04-211-1/+3
| | | | | | | | | | use base.dll from chrome. BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6877053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82564 0039d316-1c4b-4281-b951-d872f2087c98
* Move json_value_serializer to content\common since it's used by code in ↵jam@chromium.org2011-04-161-0/+1
| | | | | | | | | content now. TBR=avi Review URL: http://codereview.chromium.org/6875018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81857 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for the quick-enable-cf command to the installer. This encompases:grt@chromium.org2011-03-031-0/+4
| | | | | | | | | | | | | - Adding facilities for new-style Google Update commands (ProductCommand, ProductCommands) - Adding support to the validator to validate the quick-enable-cf command - Adding juju to the installation and uninstallation flows to put the command into place when installing/upgrading Chrome in multi-install mode when CF is either not installed or is in ready-mode, and making sure the command is not there when Chrome Frame is installed. BUG=none TEST=Install Chrome in multi-install mode and see if the Google Update version key for the binaries (app guid {4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}) contains a key named "quick-enable-cf" that has a CommandLine value indicating setup.exe w/ --multi-install [ --system-level ] --quick-enable-cf, a SendsPings value of 1, and a WebAccessible value of 1. Then try the other variations, like install CF in ready-mode and make sure that quick-enable-cf is still there. Make sure that installing CF causes it to be removed, etc. Review URL: http://codereview.chromium.org/6588003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76783 0039d316-1c4b-4281-b951-d872f2087c98
* Fix in-use updates where %TMP% is on a volume other than %USERPROFILE% ↵grt@chromium.org2011-02-241-0/+2
| | | | | | | | | | | and/or %SystemRoot%. We now do temp work on the same volume as the eventual install. In the case of system-level installs, this has the nice side-effect of allowing us to move the install into place rather than copy it, which should also speed up system-level installs. BUG=70368 TEST=Set TMP and TEMP env vars to some volume other than the one holding %USERPROFILE% (for user-level installs) or %SystemRoot% (for system-level installs), then see if in-use updates work. Review URL: http://codereview.chromium.org/6538091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75899 0039d316-1c4b-4281-b951-d872f2087c98
* New installation validator machinery to check the machine state. This CL ↵grt@chromium.org2011-02-141-0/+2
| | | | | | | | | | | | | | | | contains the first two parts of the validator: 1. installer::InstallationValidator class, used by setup.exe to confirm that all is well following an installer operation. Violations are logged at ERROR level. 2. validate_installation.exe, used by humans to check the overall state of a machine. The third part, in which violations fire nonfatal test failures for use in other tests, will follow in a subsequent CL. BUG=none TEST=Run validate_installation.exe on machine(s) containing all conceivable permutations of Chrome and Chrome Frame, and see if it reports any violations. Review URL: http://codereview.chromium.org/6490024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74819 0039d316-1c4b-4281-b951-d872f2087c98
* More installer refactoring in the interest of fixing some bugs and cleaning ↵grt@chromium.org2011-01-251-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | things up: - Introduced ProductOperations: an interface implemented for each product that takes care of product-specific functions. Each Product owns an instance and delegates certain operations to it. - Removed the use of MasterPreferences by BrowserDistribution so that the former isn't needed outside of the installer. - Replaced PackageProperties with a new BrowserDistribution type (CHROME_BINARIES) - Plumbed the concept of InstallerState more thoroughly through installer - Removed ProductPackageMapping and Package - Moved more registry read ops into ProductState - Validation of products to be installed is now done in CheckPreInstallConditions - Ignore --chrome-frame --ready-mode if chrome is also being installed/updated and a SxS GCF is found (chrome is updated). - Migrates existing single-install Chrome to multi-install where appropriate. - Fixes update to Chrome's uninstallation arguments when Chrome Frame is uninstalled. - Removed dead code from install.cc. - Added code to update products' "ap" values when ready-mode is accepted. - Skip post-install things such as launching the browser when Chrome was implicitly added to the install/upgrade process by virtue of being part of a multi-install. BUG=61609 TEST=run the installer, see it work. existing tests in installer_util_unittests have been updated; new tests are included for ProductState, ChannelInfo, etc. Review URL: http://codereview.chromium.org/6288009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72497 0039d316-1c4b-4281-b951-d872f2087c98
* - WriteInstallerResult is now back in InstallUtil and only writes the result ↵grt@chromium.org2011-01-051-2/+6
| | | | | | | | | | | | | | | | | | | | | where it is needed - WriteInstallerResult is no longer called on uninstall (Google Update doesn't check it on uninstall) - Introduced the poorly named InstallationState (state of the system based on registry inspection) and InstallerState (state of the current operation) classes - Product::GetInstalledVersion and Product::IsInstalled are gone; use InstallationState instead - A few cleanups to make the code comply with the style guide - UpdateDiffInstallStatus has been renamed to UpdateInstallStatus - Chromium builds noop in UpdateInstallStatus (this was always the case for the browser, but now also is for GCF and the multi-installer package). - The -multifail suffixes is now added to/removed from the Google Update "ap" value by UpdateInstallStatus on the basis of multi-install success/failure. - Added code to update the Google Update "ap" value based on the set up products/options installed - ChannelInfo is now an ordered list of modifiers and suffixes. We're careful to keep -full at the end since that was an operating assumption previously. - ActivePackageProperties is a typedef to either the Chrome or Chromium PackageProperties class TEST=Some existing unit tests updated; more new unit tests to follow. BUG=61609 Review URL: http://codereview.chromium.org/5988007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70483 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the install flow in the Chrome installer to use a single ↵robertshield@chromium.org2011-01-041-0/+4
| | | | | | | | | | | | WorkItemList for all operations that mutate the system state. This is a prerequisite for meaningful unittests and significantly simplifies the install flow. BUG=61609 TEST=None (yet) Review URL: http://codereview.chromium.org/6078007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70426 0039d316-1c4b-4281-b951-d872f2087c98
* Support for GCF ready-mode.tommi@chromium.org2010-12-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* - Installation results for use by Google Update are now written at the ↵grt@chromium.org2010-12-221-2/+2
| | | | | | | | | | | | | | | | | | Package level. Furthermore, such results are placed in the product keys as well as the package key, if there is one. This ensures that the result will be available for Google Update regardless of whether or not a migration from single to unified is taking place. - The mutex protecting creation of the window used to join chrome processes no longer contains the app_guid. This increases contention for the lock slightly, but ensures that window creation is safe in light of unified installs. - Fixed placement of the user data directory for Chrome Frame. Previously, GetChromeFrameUserDataDirectory contained its own, different, ChromeFrameDistribution::GetInstallSubDir implementation. Now, GetChromeFrameUserDataDirectory delegates to ChromeFrameDistribution. - Product now caches and owns the Version instance returned by is GetInstalledVersion method (msi state is also cached). Also added Product::IsInstalled. - Moved GetInstallReturnCode from BrowserDistribution to InstallUtil because I didn't see why it belonged to the dist class. - SetEULAConsent now writes the consent value to either the product or package key as appropriate. - Disallow --multi-install when operating on a SxS Chrome installation. - Propagate --multi-install when running setup.exe with --rename-chrome-exe so that installer results can get written to the correct place. BUG=61609 TEST=New tests added to installer_util_unittests for WriteInstallerResult and SetEULAConsent changes. Review URL: http://codereview.chromium.org/6061003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69944 0039d316-1c4b-4281-b951-d872f2087c98
* Installer cleanupamit@chromium.org2010-12-161-4/+0
| | | | | | | | | | | | | 1] Remove installer::version and use base::version in installer 2] Use file_util::FileEnumerator instead of calling FindFirstFile directly BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/5687004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69433 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a new class, PackageProperties that represents the shared binaries ↵tommi@chromium.org2010-12-151-0/+2
| | | | | | | | | | | | | for each of the products. Also removing the system_level() property out of the Product class and into the Package class as system_level can't be different for products that share the same package. TEST=Run installer and unit tests. BUG=61609 Review URL: http://codereview.chromium.org/5744001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69314 0039d316-1c4b-4281-b951-d872f2087c98
* Some installer cleanup: introduced ChannelInfo class for fiddling with "ap" ↵grt@chromium.org2010-12-081-0/+2
| | | | | | | | | | | ClientState value. BUG=61609 TEST=added to and modified chrome/installer_util_unittests.exe appropriately Review URL: http://codereview.chromium.org/5656002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68603 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the installer to support multi-install.tommi@chromium.org2010-12-011-0/+4
| | | | | | | | | | | | | | | | | | The installer now does its work based on distributions and target installation paths. Each distribution has exactly one target installation path but each installation path can have more than one distribution. In the absense of the --multi-install switch, the installer should continue to work as before. The biggest difference here is that we don't rely on a single global distribution object that controls the entire installation flow and we have a few classes for the new abstractions instead of global functions. It's far from perfect, but it's a step towards separating the core file package required for all distributions from the distributions themselves. Additionally, there are tons of little changes here such as consistant usage of FilePath and CommandLine instead of mixing them with std::wstring. TEST=Install, uninstall, upgrade, etc. Everything install related. BUG=61609 Review URL: http://codereview.chromium.org/5172011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67818 0039d316-1c4b-4281-b951-d872f2087c98
* The UI language rather than the locale is now used to pick Chrome's language ↵grt@chromium.org2010-11-161-0/+2
| | | | | | | | | | | | | | | on Windows. (Also fixed some unrelated lint errors.) With this change, l10n_util::GetApplicationLocale first checks for an override of the "configured locale" (in base::i18n) containing the list of preferred Windows UI languages. The browser triggers an override early in startup before the ApplicationLocale is determined. In effect, the browser no longer uses ICU on Windows for language detection. (This locale override mechanism is borrowed from the OS X port.) Changes in Chrome Frame are largely a refactor, as some Win32 code in there has been moved into base/win. Also cleaned up language selection in installer_util so that the proper language is chosen for the EULA, installer messages, and shortcuts. In so doing, replaced hand-crafted lists of supported languages with either auto-generated lists (static consts) or logic so that the addition of translations in the future doesn't require code motion (that being said, there may be reason to update the alias and/or wildcard tables in language_selector.cc). In so doing, this change unlocks Amharic, Farsi, and Swahili translations for installer messages and shortcuts. BUG=39986,40496,26470 TEST=New MUI/Win32 calls are tested in base/win/i18n_unittest.cc. To test the overall functionality, uninstall Chrome, remove intl.app_locale user pref, switch to a supported display language (via the "Keyboards and Languages" tab of Win7's "Regional and Language" control panel, and install with { "distribution": { "require_eula": true } } in master_preferences (via -installerdata arg to setup.exe). If all goes well, both EULA and outer frame are in the same language as Windows. Also, from gwilson: "Install system-level Chrome in audit mode on a new machine, then go through the out-of-box-experience, select a language, and the in -product EULA (triggered by "require_eula" : true) and Chrome's UI should be in the language that the user selected." Review URL: http://codereview.chromium.org/4139010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66275 0039d316-1c4b-4281-b951-d872f2087c98
* Move wmi_util out of base and into chrome/installer/util since that's the ↵brettw@chromium.org2010-10-101-2/+4
| | | | | | | | | | only place where it's used. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3696001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62123 0039d316-1c4b-4281-b951-d872f2087c98
* Reworked Avi's patch for master prefs implemented on mac ↵mirandac@chromium.org2010-08-231-16/+1
| | | | | | | | | | | (http://codereview.chromium.org/2903014/show), so that it will work with new first run sequence on Windows and Mac. BUG=44901 TEST=in bug Review URL: http://codereview.chromium.org/3148001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57099 0039d316-1c4b-4281-b951-d872f2087c98
* Make UpgradeDetector work on the Mac.mark@chromium.org2010-07-151-0/+15
| | | | | | | | | | This is the backend work only. There's no UI yet. BUG=45147 TEST=manual Review URL: http://codereview.chromium.org/3032001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52524 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup some unncessary dependencies on libxml.mad@google.com2010-06-271-1/+0
| | | | | | | | | | | As working on change committed in rev50132, instead of yet adding another project to the dependency list of libxml, I decided to abstract the dependency in the metrics helper. BUG=0 TEST=None Review URL: http://codereview.chromium.org/2753010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50952 0039d316-1c4b-4281-b951-d872f2087c98
* Linux/GTK: implement update notification.estade@chromium.org2010-06-031-0/+2
| | | | | | | | | BUG=45148 TEST=compile chrome with PRODUCT_VERSION manually set to something higher than the current version (e.g. 7.0.0.0), and manually set the upgrade detector time to something short (like 10 seconds). Launch chrome and wait a short time for the update notification to appear. The update notification should pulse every few seconds, and should stop pulsing when the user opens the wrench menu. The about menu item should launch a dialog that allows the user to restart chrome, restoring the current session. Review URL: http://codereview.chromium.org/2365003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48795 0039d316-1c4b-4281-b951-d872f2087c98
* Break gyp cycles on Linux.tony@chromium.org2010-05-241-0/+160
The cycle is between installer.gyp and chrome.gyp. The fix is to switch installer.gyp into installer.gypi and include it into chrome.gyp BUG=35308 Review URL: http://codereview.chromium.org/2067018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48007 0039d316-1c4b-4281-b951-d872f2087c98