summaryrefslogtreecommitdiffstats
path: root/chrome/installer
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug introduced by RegKey change and corresponding unit test.amit@chromium.org2011-01-201-1/+1
| | | | | | | | | BUG=70092 TEST=GoogleUpdateTest.StatsConsent Review URL: http://codereview.chromium.org/6339005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71913 0039d316-1c4b-4281-b951-d872f2087c98
* Regkey functions return error code instead of boolamit@chromium.org2011-01-1931-476/+407
| | | | | | | | | | | | | | | | | | | | | | Change the Regkey helper to consistently use and return LONG instead of bool. Fix RegKey usage all over the code base and get rid of workarounds due to lack of return value. Reviewers: brettw: everything (skip parts for other reviewers if you wish) robertshield,grt: chrome_frame, installer siggi: ceee BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/6090006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71768 0039d316-1c4b-4281-b951-d872f2087c98
* Some new strings for setup.exe safeguard.grt@chromium.org2011-01-191-0/+1
| | | | | | | | BUG=61609 TEST=none Review URL: http://codereview.chromium.org/6310011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71764 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor out of install.cc the set of functions that operate on a work item ↵robertshield@chromium.org2011-01-1412-763/+1244
| | | | | | | | | | | | | | list for better testability. Write preliminary test framework for testing these functions. BUG=61609 TEST=setup_unittests.exe Review URL: http://codereview.chromium.org/6153003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71473 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate the Ready Mode prompt with IE and Chrome Frame. In Ready Mode, ↵erikwright@chromium.org2011-01-1220-253/+641
| | | | | | | | | | prompts are displayed when the user browses to GCF-enabled sites, allowing the user to permanently activate, permanently decline, or temporarily decline Chrome Frame. BUG=None TEST=chrome_frame_unittests --gtest_filter=Ready* && chrome_frame_unittests --gtest_filter=Infobar* && setup.exe --chrome-frame --ready-mode --multi-install --system--level --chrome Review URL: http://codereview.chromium.org/6040003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71215 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of FilePath::FromWStringHack from google_chrome_distribution.[cc,h].tfarina@chromium.org2011-01-123-12/+14
| | | | | | | | | BUG=24672 TEST=trybots Review URL: http://codereview.chromium.org/6152003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71113 0039d316-1c4b-4281-b951-d872f2087c98
* Applying http://codereview.chromium.org/6156005/ for tommi. Original desc.:robertshield@chromium.org2011-01-111-10/+13
| | | | | | | | | | | | | Fix problem with uninstallation of multi-install products. We would incorrectly uninstall both installed products when we should only uninstall one. BUG=68876 TEST=See bug description. Review URL: http://codereview.chromium.org/6186006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71050 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a SelfRegWorkItem bug that causes it to ignore the ignore_failures_ flag.robertshield@chromium.org2011-01-112-5/+3
| | | | | | | | | BUG=68877 TEST=Installing Chrome with --multi and then Chrome Frame with --multi works. Review URL: http://codereview.chromium.org/6109006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71042 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded includes of chrome_switches.h.thestig@chromium.org2011-01-111-2/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6086003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70978 0039d316-1c4b-4281-b951-d872f2087c98
* Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-111-4/+6
| | | | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70782 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70920 Review URL: http://codereview.chromium.org/6070006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70977 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70920 - Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-101-6/+4
| | | | | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70782 Review URL: http://codereview.chromium.org/6070006 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/6099012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70923 0039d316-1c4b-4281-b951-d872f2087c98
* Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-101-4/+6
| | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70782 Review URL: http://codereview.chromium.org/6070006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70920 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Remove base/scoped_handle_win.h."tfarina@chromium.org2011-01-094-14/+12
| | | | | | | | | | | | | | | Fixed the problem with rlz library. Now should be fine to land this again. This reverts commit 3620d9501af7bff688862c54fdd60f7eb41797f3. Original Review URL: http://codereview.chromium.org/6126002/ BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6110005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70861 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Remove base/scoped_handle_win.h stub and fix up all callers to use ↵thakis@chromium.org2011-01-074-12/+14
| | | | | | | | | | the new location and namespace." This reverts r 70795, it broke the build. TBR=vandebo git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70802 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/scoped_handle_win.h stub and fix up all callers to use the new ↵tfarina@chromium.org2011-01-074-14/+12
| | | | | | | | | | | location and namespace. BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6126002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70795 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70782 - Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-071-6/+4
| | | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Review URL: http://codereview.chromium.org/6070006 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/6100007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70783 0039d316-1c4b-4281-b951-d872f2087c98
* Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-071-4/+6
| | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Review URL: http://codereview.chromium.org/6070006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70782 0039d316-1c4b-4281-b951-d872f2087c98
* Use FilePath::DirName instead of the deprecated file_util::GetDirectoryFromPath.tfarina@chromium.org2011-01-072-10/+7
| | | | | | | | | | | Fix the callers and remove the deprecated function. BUG=24672 TEST=trybots Review URL: http://codereview.chromium.org/6111003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70705 0039d316-1c4b-4281-b951-d872f2087c98
* Add -multifail to the Google Update "ap" value if --multi-install is present ↵grt@chromium.org2011-01-062-18/+56
| | | | | | | | | | | on the command line. BUG=61609 TEST=Run mini_installer.exe and notice that -multifail is added to the "ap" value in the ClientState key when --multi-install is on the command-line. The value is removed by setup.exe at the end of a successful install. Review URL: http://codereview.chromium.org/6005016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70638 0039d316-1c4b-4281-b951-d872f2087c98
* Update checks of multi-installs now use the proper app guid.grt@chromium.org2011-01-064-4/+27
| | | | | | | | | BUG=61609 TEST=install Chrome with --multi-install, monitor GoogleUpdate's log (e.g., via Sawbuck), and confirm that an update check uses the multi-installer package's app guid. Review URL: http://codereview.chromium.org/6100003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70623 0039d316-1c4b-4281-b951-d872f2087c98
* Fix uninitialized variable regression.grt@chromium.org2011-01-051-1/+1
| | | | | | | | | BUG=61609 TEST=none Review URL: http://codereview.chromium.org/6058009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70515 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new pair of installer result strings for multi-installer safeguards.grt@chromium.org2011-01-052-7/+7
| | | | | | | | | BUG=61609 TEST=none Review URL: http://codereview.chromium.org/5984009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70507 0039d316-1c4b-4281-b951-d872f2087c98
* - WriteInstallerResult is now back in InstallUtil and only writes the result ↵grt@chromium.org2011-01-0536-568/+1363
| | | | | | | | | | | | | | | | | | | | | 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-0415-313/+750
| | | | | | | | | | | | 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
* Remove base/platform_thread.h stub and fix up all callers to use the new ↵brettw@google.com2011-01-011-2/+2
| | | | | | | | | location and namespace. TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70346 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/thread.h to base/threading, fix up callers to use the new location.brettw@chromium.org2011-01-011-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70345 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/win_util to the base/win directory and use the base::win namespace.brettw@google.com2010-12-311-2/+2
| | | | | | | | | Fix up includes, many files including base/win_util don't actually need it. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70341 0039d316-1c4b-4281-b951-d872f2087c98
* Don't update Chrome's uninstall command line if it is not installed (as per ↵tommi@chromium.org2010-12-311-1/+5
| | | | | | | | | | | the comments). TEST=When installing only chrome frame in multi mode, a Chrome uninstall entry should not be added to the Add/Remove Programs list. This is a regression from when ready-mode whas implemented. BUG=none Review URL: http://codereview.chromium.org/5962014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70333 0039d316-1c4b-4281-b951-d872f2087c98
* Handling a case in DeleteRegValueWorkItem where it would report a failure if ↵tommi@chromium.org2010-12-311-2/+18
| | | | | | | | | | | a key holding the value doesn't exist. TEST=Fixes an issue with installing chrome frame that came up when the ready-mode support was checked in. BUG=none Review URL: http://codereview.chromium.org/6013008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70332 0039d316-1c4b-4281-b951-d872f2087c98
* Do machine inspection on install.tommi@chromium.org2010-12-295-20/+113
| | | | | | | | | | | | | | | | When installing Chrome [x]or Chrome Frame in multi mode, check if the other product (CF xor Chrome) is installed. If it is, also include it in the installation as we need to update both products in sync. For Chrome Frame, I also added checks to see if CEEE is already enabled or if the user has already opted into GCF. If CEEE has been enabled, we implicitly include it when the install is run even though ceee is not on the command line. If ready-mode is set on the command line but Chrome Frame is already installed without it, we won't enable ready mode. TEST=Try installing Chrome Frame in multi mode. Then install a more recent version of Chrome in multi mode. Both product should be updated. Secondly, for Chrome Frame, install it first and then try to run the installer again, but with ready-mode ont the command line. Chrome Frame should not be switched to ready mode. BUG=61609 Review URL: http://codereview.chromium.org/6091008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70268 0039d316-1c4b-4281-b951-d872f2087c98
* base/version: remove wstring versionevan@chromium.org2010-12-236-10/+14
| | | | | | | | | | | And fix callers. BUG=23581 TEST=trybots Review URL: http://codereview.chromium.org/5848005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70098 0039d316-1c4b-4281-b951-d872f2087c98
* Support for GCF ready-mode.tommi@chromium.org2010-12-2322-200/+594
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make use of the list of DLLs returned by each BrowserDistribution instance, ↵robertshield@chromium.org2010-12-233-55/+90
| | | | | | | | | | | rather than the hard-coded list built at startup. BUG=61609 TEST=Chrome Frame and CEEE continue to be registered normally. Review URL: http://codereview.chromium.org/5962009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70055 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for reporting crashes in the Chrome installer. This basically ↵ananta@chromium.org2010-12-221-0/+83
| | | | | | | | | | | | | involves connecting to the crash service which would take dumps on request. BUG=61609 TEST=none Review URL: http://codereview.chromium.org/6045005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69978 0039d316-1c4b-4281-b951-d872f2087c98
* - Installation results for use by Google Update are now written at the ↵grt@chromium.org2010-12-2221-199/+410
| | | | | | | | | | | | | | | | | | 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
* Fix official build.tommi@chromium.org2010-12-211-0/+1
| | | | | | | | TBR=robertshield Review URL: http://codereview.chromium.org/6008005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69883 0039d316-1c4b-4281-b951-d872f2087c98
* Removing IsChromeFrameProcess.tommi@chromium.org2010-12-214-16/+6
| | | | | | | | | | | This further reduces Chrome's dependencies on the installer and fixes a problem where Chrome might pick up the "chrome_frame" variable from the master preferences file and all chrome processes might have assumed they were cf processes. TEST=See description. BUG=61609 Review URL: http://codereview.chromium.org/5973006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69837 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes update step to not clobber client code setting if toast experiment is ↵gwilson@google.com2010-12-211-3/+7
| | | | | | | | | | | | not active. R=finnur BUG=67229 TEST=Install Chrome, wait for an auto-update, client code should not be set. Review URL: http://codereview.chromium.org/5943005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69835 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for --multi-install to mini_installer, fixed a memory leak, ↵grt@chromium.org2010-12-205-41/+165
| | | | | | | | | | | | fixed use of Win32 registry API, and refactored SetFullInstallerFlag so that it can be exercised in unit tests (tests to follow). Also explicitly turn off ExceptionHandling in the msvs_settings so that builds succeed in shared_library configs. When --multi-install is not on command-line, "-full" is still added to the appropriate product "ap" value in official builds. When --multi-install is present, "-full" is added to the multi installer's "ap" value unless a product is being migrated from single-install to multi-install, in which case it is put on the product's "ap" value as before. BUG=61609 TEST=Manual for now: run mini_installer.exe in various configurations, inspecting "ap" values as you go. Review URL: http://codereview.chromium.org/6025003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69710 0039d316-1c4b-4281-b951-d872f2087c98
* Only delete the shared binaries when there are no installed products that ↵tommi@chromium.org2010-12-164-15/+131
| | | | | | | | | | | depend on them. BUG=61609 TEST=When more than one product is installed with the chrome binaries, the first product should not delete the binaries but the second one should. Review URL: http://codereview.chromium.org/5875004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69468 0039d316-1c4b-4281-b951-d872f2087c98
* Add Japanese inactive user toast experiments. finnur@chromium.org2010-12-161-3/+10
| | | | | | | | | | | | (patch from Dominic Cooney, already reviewed here: http://codereview.chromium.org/5270011/) TBR=finnur BUG=58886 TEST=None Review URL: http://codereview.chromium.org/5948001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69465 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69428 - Add support for --multi-install to mini_installer, fixed a ↵finnur@chromium.org2010-12-164-162/+41
| | | | | | | | | | | | | | | | | | | | | memory leak, fixed use of Win32 registry API, and refactored SetFullInstallerFlag so that it can be exercised in unit tests (tests to follow). When --multi-install is not on command-line, "-full" is still added to the appropriate product "ap" value in official builds. When --multi-install is present, "-full" is added to the multi installer's "ap" value unless a product is being migrated from single-install to multi-install, in which case it is put on the product's "ap" value as before. BUG=61609 TEST=Manual for now: run mini_installer.exe in various configurations, inspecting "ap" values as you go. Review URL: http://codereview.chromium.org/5875003 TBR=grt@chromium.org This broke the Win Builder (dbg) (Shared) bot but no-one noticed. Review URL: http://codereview.chromium.org/5890004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69462 0039d316-1c4b-4281-b951-d872f2087c98
* Installer cleanupamit@chromium.org2010-12-1624-323/+107
| | | | | | | | | | | | | 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
* Add support for --multi-install to mini_installer, fixed a memory leak, ↵grt@chromium.org2010-12-164-41/+162
| | | | | | | | | | | | | fixed use of Win32 registry API, and refactored SetFullInstallerFlag so that it can be exercised in unit tests (tests to follow). When --multi-install is not on command-line, "-full" is still added to the appropriate product "ap" value in official builds. When --multi-install is present, "-full" is added to the multi installer's "ap" value unless a product is being migrated from single-install to multi-install, in which case it is put on the product's "ap" value as before. BUG=61609 TEST=Manual for now: run mini_installer.exe in various configurations, inspecting "ap" values as you go. Review URL: http://codereview.chromium.org/5875003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69428 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a new class, PackageProperties that represents the shared binaries ↵tommi@chromium.org2010-12-1515-77/+373
| | | | | | | | | | | | | 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
* Revert 69167, itself a revert of 69165 - Merge the installer, installer_util ↵robertshield@chromium.org2010-12-1549-494/+494
| | | | | | | | | | | | and setup_util namespaces into a single installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5738009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69256 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69165 - Merge the installer, installer_util and setup_util namespaces ↵robertshield@chromium.org2010-12-1449-493/+493
| | | | | | | | | | | | | | into a single installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5729004 TBR=robertshield@chromium.org Review URL: http://codereview.chromium.org/5756007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69167 0039d316-1c4b-4281-b951-d872f2087c98
* Merge the installer, installer_util and setup_util namespaces into a single ↵robertshield@chromium.org2010-12-1449-493/+493
| | | | | | | | | | | installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5729004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69165 0039d316-1c4b-4281-b951-d872f2087c98
* Make members of Singleton<T> private and only visible to the singleton type. ↵satish@chromium.org2010-12-141-2/+5
| | | | | | | | | | | | | | | This enforces that the Singleton<T> pattern can only be used within classes which want singleton-ness. As part of this CL I have also fixed up files which got missed in my previous CLs to use a GetInstance() method and use Singleton<T> from the source file. There are a small number of places where I have also switched to LazyInstance as that was more appropriate for types used in a single source file. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5682008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69107 0039d316-1c4b-4281-b951-d872f2087c98
* Add a CEEE mode to the ChromeFrame distribution class.robertshield@chromium.org2010-12-1326-163/+300
| | | | | | | | | | | | | | Pass a MasterPreferences into BrowserDistribution et al. to allow for preferences-based behaviour. Add a GetComDllList() method that returns the set of registerable components for that distribution. Change GetKeyFile() on BrowserDistribution to GetKeyFiles(). Refactor GetMasterPreferencesForCurrentProcess into a static method on MasterPreferences. BUG=61609 TEST=None Review URL: http://codereview.chromium.org/5558006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68996 0039d316-1c4b-4281-b951-d872f2087c98