summaryrefslogtreecommitdiffstats
path: root/chrome/installer/setup
Commit message (Collapse)AuthorAgeFilesLines
* Overwrite the multi-install binaries' usagestates value if it's already there.grt@chromium.org2011-12-222-3/+6
| | | | | | | | | | | | Previously, AddUsageStatsWorkItems was conservative and wouldn't overwrite an existing usagestats value. As it happens, this breaks overinstalls. Now it clobbers the old value with any new value written to a product's ClientState key by Omaha. BUG=108231 TEST=overinstall Chrome with a different state consent setting than is in use; see the bug for detailed scenarios. R=erikwright@chromium.org Review URL: http://codereview.chromium.org/9019025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115517 0039d316-1c4b-4281-b951-d872f2087c98
* Remove remaining references to CEEE.rogerta@chromium.org2011-12-202-3/+3
| | | | | | | | | BUG=107739 TEST=No visible code changes. Removing constants and code related to CEEE. Review URL: http://codereview.chromium.org/8909009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115183 0039d316-1c4b-4281-b951-d872f2087c98
* Implement an AutoLaunch experiment for Chrome for certain brand codes. This ↵finnur@chromium.org2011-12-152-1/+21
| | | | | | | | | | 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
* Badge Windows profile shortcuts with multi-user avatar.stevet@chromium.org2011-12-061-20/+17
| | | | | | | | | BUG=105110 TEST=Ensure that when Chrome on Windows creates a desktop icon for a new Profile, the icon image has the user avatar in it. Ensure that changing the Avatar changes the image in the icon. TBR=rsesek Review URL: http://codereview.chromium.org/8785006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113104 0039d316-1c4b-4281-b951-d872f2087c98
* Add Windows desktop shortcut for multiple profiles.mirandac@chromium.org2011-11-221-4/+4
| | | | | | | | BUG=87770 TEST=new unit tests added with this CL. Review URL: http://codereview.chromium.org/8502033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111156 0039d316-1c4b-4281-b951-d872f2087c98
* Allow updates to user-level products when system-level products are present.grt@chromium.org2011-11-151-28/+31
| | | | | | | | | | | | This will drop the frequency of update error 6 (SYSTEM_LEVEL_INSTALL_EXISTS). There's no good reason to block updates in this case, only new installs. BUG=103374 TEST=Install user-level Chrome, Install system-level Chrome, Update the user-level Chrome. Expect the update to succeed. Review URL: http://codereview.chromium.org/8570006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110165 0039d316-1c4b-4281-b951-d872f2087c98
* Write the install language to the registry for user-level installs.grt@chromium.org2011-11-153-4/+24
| | | | | | | | | | | Google Update (Omaha) will send the value up in app pings. BUG=100751 TEST=install user-level Chrome. check HKCU\Software\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96} for a "lang" value. Review URL: http://codereview.chromium.org/8555010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110002 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded forward declarations in chrome/installer.thestig@chromium.org2011-11-124-5/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8511053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109804 0039d316-1c4b-4281-b951-d872f2087c98
* Don't try to delete file type ownership at uninstall.grt@chromium.org2011-11-111-10/+3
| | | | | | | | | | | | As per http://msdn.microsoft.com/en-us/library/windows/desktop/cc144148(v=vs.85).aspx#uninstall BUG=103935 TEST=install Chrome, make it the default, then uninstall it. make sure HKLM\Software\Classes\.htm hasn't been deleted. Review URL: http://codereview.chromium.org/8536023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109698 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for --critical-update-version to installer.grt@chromium.org2011-11-112-26/+45
| | | | | | | | | | | | | | | | The installer may now be given a --critical-update-version=W.X.Y.Z option on the command line. If this is present for an in-use update and the indicated version is newer than the in-use Chrome, a new "cpv" value is dropped in the registry alongside "opv" and "cmd" (the other state associated with an in-use update). Thanks to Finnur, Chrome will eventually notice that there's a pending critical update and do magical things to keep our users safe and secure. Go users! Other things I did while I was at it: - switched version string conversions from UTF8ToWide to ASCIIToWide since version numbers are always ASCII dotted numbers. - renamed the reg value from "CriticalUpdate" to "cpv" so it fits in nicely with the other cryptic values in the product's Clients key (a.k.a. Version key). BUG=103526,97665 TEST=Install version N, launch it with --check-for-update-interval=5, then install verison M>N with --critical-update-version=M. After a few seconds, Chrome should do something fantastic. Note that the alternate_version_generator can be used to create a newer versioned mini_installer from an existing one (just build it and run it). Review URL: http://codereview.chromium.org/8517012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109620 0039d316-1c4b-4281-b951-d872f2087c98
* Fix default browser registration for simplified chinese installs.grt@chromium.org2011-11-023-42/+68
| | | | | | | | | | | | | http://crrev.com/13341 and http://crrev.com/13906, which fixed http://crbug.com/9697, switched from using chrome.exe as the canonical name of Chrome (for purposes of shell registration) to using the localized application name (e.g., "Chromium" or "Google Chrome"). This is problematic since there are differences between the various locales as to what the app name is. This change switches to using a non-localized version of the product name. The right thing to do would really be to switch back to using the executable name (as prescribed by MSDN), except for the case of Chromium builds, where "chromium.exe" could be used. Making that change now would mean potentially re-prompting users to make Chrome their default browser, which would be bad. BUG=92445 TEST=Verify that Google Chrome and Chromium builds can coexist, and that each can be made the default browser. Furthermore, ensure that, for user-level and system-level installs, all of the usual shell registration things work: the Start Menu's "Internet" link (icon and action), running "chrome.exe" (without path) from the Run... dialog, clicking a link in some other program, typeing a URL into the Run... dialog, "Set your default programs" control panel, "Set program access and computer defaults" control panel. Also, verify that if Chrome is installed using zn-CH locale and made the default, that switching to another locale (like en-US) doesn't cause Chrome to prompt to become the default browser. Review URL: http://codereview.chromium.org/8384038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108297 0039d316-1c4b-4281-b951-d872f2087c98
* Move resource_codes to content/public/common.jam@chromium.org2011-10-251-0/+1
| | | | | | | BUG=98716 Review URL: http://codereview.chromium.org/8382021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107061 0039d316-1c4b-4281-b951-d872f2087c98
* Have Chrome Frame build its .idl artifacts into a sub-folder of ↵robertshield@chromium.org2011-10-191-2/+1
| | | | | | | | | | | | SHARED_INTERMEDIATE_DIR, a globally common output folder. It's rude to dump things in the root of the dir that aren't used project-wide. Also explicitly list the installer -> ChromeFrame dependency in src\chrome\installer\DEPS. It was already present but now check_deps catches it due to the correctly formatted include path.Remove several redundant instances of SHARED_INTERMEDIATE_DIR being added to the include lists. BUG=97185 TEST=Chrome Frame artifacts do not appear in e.g. build/Debug/obj/global_intermediate/ Review URL: http://codereview.chromium.org/8317018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106287 0039d316-1c4b-4281-b951-d872f2087c98
* Show canary icon in Programs and Features (Add/Remove Programs) control panel.grt@chromium.org2011-10-171-4/+4
| | | | | | | | | | BUG=100201 TEST=install canary, note that the uninstall entry has the correct icon. R=robertshield@chromium.org Review URL: http://codereview.chromium.org/8321004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105825 0039d316-1c4b-4281-b951-d872f2087c98
* Errors while deleting old version dirs no longer cause them to grow in odd ways.grt@chromium.org2011-10-151-2/+3
| | | | | | | | | | | | | InstallerState::RemoveOldVersionDirectories now tells its DeleteTreeWorkItem instances to ignore failures. Deleting the old version dirs is a best-effort thing. Should one fail to be deletable on account of a file or directory being in use (other than the key files: chrome.dll, npchrome_frame.dll, and chrome_frame_helper.exe), the installer will no go on its merry way rather than trying to un-do the delete (which is error-prone to say the least). Also, during installation, don't make success of the install contingent on being able to delete old_chrome.exe. Basically for the same reasons. If we can't delete it because it's in use by someone/thing, just leave it there. It'll be cleaned up on a later install, or when new_chrome.exe is later swapped into place. This may reduce our INSTALL_FAILED errors. BUG=100218 TEST=see bug Review URL: http://codereview.chromium.org/8299008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105671 0039d316-1c4b-4281-b951-d872f2087c98
* Fix in-use updates for Chrome Frame.grt@chromium.org2011-09-236-220/+219
| | | | | | | | | | | | | On in-use updates, make a copy of the old chrome launcher's IE low rights elevation policy prior to registering the new npchrome_frame.dll so that running instances of IE can still launch Chrome. In so doing, I also removed elevation policy addition/removal code from the installer so that npchrome_frame.dll's {un,}registration code is the one and only place where this is done. BUG=95810 TEST=Install a previous version of GCF, run IE and visit some page that activates GCF, update to a version of GCF containing this fix, then try to visit another page that will activate GCF. If all goes well, you won't see an IE security prompt. Review URL: http://codereview.chromium.org/7976045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102569 0039d316-1c4b-4281-b951-d872f2087c98
* Improve install error strings when higher version exists.grt@chromium.org2011-08-191-13/+30
| | | | | | | | | | | | | The error string displayed by Google Update will now correctly indicate which product(s) must be uninstalled for a downgrade to be possible. This error is commonly seen when a user tries to move from a fast chanel down to a slower one (e.g., dev to beta). BUG=81807 TEST=for each prods in multi-install Chrome, multi-install CF, and multi-install both: install version N of prods then try to install version N-M of any multi-install product. The InstallerResultUIString left in the registry should correctly indicate which products need to be removed for the downgrade to work. R=erikwright@chromium.org Review URL: http://codereview.chromium.org/7689004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97480 0039d316-1c4b-4281-b951-d872f2087c98
* Proper EULA handling for quick-enable.grt@chromium.org2011-08-112-2/+31
| | | | | | | | | | | | Mark the binaries' EULA as having been accepted when GCF is installed via quick-enable. This causes Google Update to start updating the multi-install. Chrome's EULA will still be required on first-run. BUG=88544 TEST=1) Do a multi-install OEM install of Chrome for which the EULA is required. Alternatively, install system-level multi-install Chrome and then manually add eulaaccepted=0 to Chrome's and the binaries' ClientState keys. 2) Visit the GCF download page and install GCF via quick-enable. 3) Verify that eulaaccepted=1 is written to the binaries' ClientStateMedium key. Review URL: http://codereview.chromium.org/7600023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96386 0039d316-1c4b-4281-b951-d872f2087c98
* Fix DCHECK in GCF quick-enable.grt@chromium.org2011-08-111-1/+1
| | | | | | | | | | | | Make the determination of whether or not Chrome Frame is in use on-demand rather than during initialization. BUG=92146 TEST=GCF quick-enable should work again. Review URL: http://codereview.chromium.org/7600021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96370 0039d316-1c4b-4281-b951-d872f2087c98
* Fix two problems found while testing chrome reactivation:rogerta@chromium.org2011-07-291-6/+18
| | | | | | | | | | | | | | | | - C1S events were not being sent out for reactivated brand code. In the reactivation brand, the code was getting a cached copy of the RLZ string for the main brand code and thinking it had already set the C1S event - on uninstall, reactivation values remained in registry. Fixed the uninstaller to call RlZTracker::ClearProductState() so that the reactivation brand code case is handled as well BUG=90886 TEST=See RLZ test plan Review URL: http://codereview.chromium.org/7532005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94767 0039d316-1c4b-4281-b951-d872f2087c98
* Rename CommandLine::GetCommandLineString().msw@chromium.org2011-07-203-11/+11
| | | | | | | | | | | | Fix string hackery in net/tools/dump_cache/dump_cache.cc Fix const casts in chrome/installer/util/product.cc and base/process_util_win.cc. BUG=73195 TEST=none Review URL: http://codereview.chromium.org/7386002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93165 0039d316-1c4b-4281-b951-d872f2087c98
* Take two at splitting result codes between content and chrome.dpranke@chromium.org2011-07-191-11/+11
| | | | | | | | | | | | content/common/result_codes.h contains only the codes defined in content. chrome/common/chrome_result_codes.h contains the codes defined in chrome and also includes (for convenience) the content header. R=jam@chromium.org BUG=76699 TEST=everything compiles Review URL: http://codereview.chromium.org/7397004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93082 0039d316-1c4b-4281-b951-d872f2087c98
* Fix diff updates for MSI installs. Also makes diff updates possible for GCF ↵grt@chromium.org2011-07-191-1/+28
| | | | | | | | | | | | and pure multi-install updates. While in there, I also removed the old (and no longer used) "-multifail" ap value tag. BUG=72899,89315 TEST=run a diff installer (chrome_updater.exe) and see that it works to update an MSI-based installation of Chrome. R=robertshield@chromium.org Review URL: http://codereview.chromium.org/7401014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93005 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the remaining callers of LaunchApp to LaunchProcess.evan@chromium.org2011-07-181-1/+1
| | | | | | | | | | And delete temporary shims. BUG=88990 Review URL: http://codereview.chromium.org/7386010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92897 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r92730, r92731, r92732 ... will land again once I ensure the win ↵dpranke@chromium.org2011-07-151-11/+11
| | | | | | | | | | | | | builds compile. TBR=jam@chromium.org BUG=none TEST= Review URL: http://codereview.chromium.org/7400002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92733 0039d316-1c4b-4281-b951-d872f2087c98
* This change will split the result codes between content and chrome.dpranke@chromium.org2011-07-151-11/+11
| | | | | | | | | | | | | | | This adds a new file into chrome/common and does a lot of renaming. The current version is just a sketch of the headers, and nothing will compile. R=jam@chromium.org BUG=76699 TEST=everything still compiles and runs Review URL: http://codereview.chromium.org/7377010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92730 0039d316-1c4b-4281-b951-d872f2087c98
* Cause new_chrome.exe to always be written if Chrome Frame is in use, ↵robertshield@chromium.org2011-07-151-4/+16
| | | | | | | | | | resulting in updates being deferred. BUG=88589 TEST=NONE Review URL: http://codereview.chromium.org/7353030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92706 0039d316-1c4b-4281-b951-d872f2087c98
* Check setup.exe called with --register-chrome-browser is running as adminbenwells@chromium.org2011-07-131-0/+1
| | | | | | | | | | | | | | | This switch requires that the installer is being run as administrator. This change adds a check to the installer to check this. BUG=83845 TEST=Installation and setting as the default browser should be checked on XP, Vista and Windows 7 with and without an admin account. No change in behavior should result from this change. Review URL: http://codereview.chromium.org/7346004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92313 0039d316-1c4b-4281-b951-d872f2087c98
* Handle eulaaccepted and oeminstall mo betta for multi-install. During first ↵grt@chromium.org2011-07-125-26/+175
| | | | | | | | | | | | install, these values (deposited by Google Update) are now mirrored from the product-specific ClientState key into the binaries' key. When the EULA is accepted, the modification is written to both the product's and binaries' ClientStateMedium key. As a result, multi-install OEM installs will start updating only when the EULA is accepted (as desired) and the EVENT_INSTALL_OEM_FIRST_CHECK ping is sent for both the product and the binaries. BUG=88584 TEST=see bug R=robertshield@chromium.org Review URL: http://codereview.chromium.org/7346011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92234 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/values.h into the base namespace. This includes a cros DEPS rolldmazzoni@chromium.org2011-07-121-1/+0
| | | | | | | | | | with a minor change to that code since libcros also uses base/values.h. BUG=88666 TEST=none Review URL: http://codereview.chromium.org/7259019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92208 0039d316-1c4b-4281-b951-d872f2087c98
* Change the system-level EULA dialog to not use GET parameters with res:// ↵robertshield@chromium.org2011-07-052-35/+32
| | | | | | | | | | urls. Instead use the dialogArgument property on the window object. res:// urls with GET parameters don't appear to work with the IE6 version of MSHTML. BUG=88192 TEST=Install system-level Chrome on a new machine with a master_preferences file that includes "require_eula":true. Observe that a non-blank EULA dialog shows up and that the user can run Chrome. Review URL: http://codereview.chromium.org/7309008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91507 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for a environment variable that selects between system-level ↵robertshield@chromium.org2011-06-271-0/+5
| | | | | | | | | | | installs and user-level installs. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7260011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90673 0039d316-1c4b-4281-b951-d872f2087c98
* Return a new error code multi-install updates if Group Policy settings ↵grt@chromium.org2011-06-161-3/+85
| | | | | | | | | | | | | | blocking updates for individual products are conflicting with the effective update policy for the multi-install binaries. In so doing, I moved the GP update policy checking code that was in browser into installer_util. BUG=none TEST=Install multi-install Chrome version N-1, disable updates for Chrome, then try to update to version N. With luck, you'll find that the update failed on account of inconsistent GP settings. R=robertshield@chromium.org,pastarmovj@chromium.org,gwilson@chromium.org Review URL: http://codereview.chromium.org/7111012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89384 0039d316-1c4b-4281-b951-d872f2087c98
* Add additional granularity to the installer stage strings that get written ↵robertshield@chromium.org2011-06-022-1/+13
| | | | | | | | | | | | to the "ap" value during the end stage of the installer (where we seem to encounter most of our crashes / timeouts). Note that this CL alters the length of the InstallerStage enum (and modifies the guarding COMPILE_ASSERT). This is safe right now because we don't report the numeric values directly. BUG=NONE TEST=We start getting more useful data about the point at which the installer crashes / times out. Review URL: http://codereview.chromium.org/7080058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87605 0039d316-1c4b-4281-b951-d872f2087c98
* Clear the installer stage info after patching setup.exe. We're seeing ↵grt@chromium.org2011-06-021-0/+2
| | | | | | | | | | | | update checks for installs where the machine was left in the ensemble_patching stage. I blieve that in most of these cases, setup.exe was patched without a crash. It's better if we clear the stage so that these cases aren't confused with true crashes while patching. BUG=none TEST=stage info should be cleared at the conclusion of --update-setup-exe processing. R=robertshield@chromium.org Review URL: http://codereview.chromium.org/6975058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87569 0039d316-1c4b-4281-b951-d872f2087c98
* Upgrade all multi-install products present on the system when the installer ↵grt@chromium.org2011-05-311-7/+15
| | | | | | | | | | | is run with only the --multi-install switch. This will allow us to greatly simplify the Google Update server config for the Chrome binaries app id, as it will no longer need to call out every permutation of product installations. BUG=76695 TEST=On a system with one or more multi-install products installed, run the installer with --multi-install [ --system-level ] [ --verbose-logging ] and notice that all multi-install products are updated. Run it on a system with no multi-install products and notice that it returns 15 (CHROME_NOT_INSTALLED) and puts the proper error info into the Chrome binaries' ClientState key. Review URL: http://codereview.chromium.org/7087030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87314 0039d316-1c4b-4281-b951-d872f2087c98
* No longer block installs of multi-install Chrome Frame when an existing ↵grt@chromium.org2011-05-271-24/+2
| | | | | | | | | | | | install of Chrome is around on a different channel. BUG=83571 TEST=install user level single Chrome then install user level multi Chrome Frame from a different channel. R=robertshield@chromium.org Review URL: http://codereview.chromium.org/6966035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87045 0039d316-1c4b-4281-b951-d872f2087c98
* Allow chrome to become the os default handler for arbitrary protocols on ↵koz@chromium.org2011-05-262-9/+35
| | | | | | | | | | | | | | | mac/win. Note this is unused currently, but will be hooked up to navigator.registerProtocolHandler in a subsequent change. BUG=83556 TEST=Manual Review URL: http://codereview.chromium.org/6961013 Patch from Ben Wells <benwells@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86793 0039d316-1c4b-4281-b951-d872f2087c98
* Move scoped_temp_dir and scoped_native_library back from base/memory to base.thakis@chromium.org2011-05-193-5/+5
| | | | | | | | | | | It looks like they got moved accidentally in http://codereview.chromium.org/6714032 BUG=none TEST=none Review URL: http://codereview.chromium.org/7048007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86010 0039d316-1c4b-4281-b951-d872f2087c98
* Write installer results in all relevant registry keys so that we're sure ↵grt@chromium.org2011-05-191-44/+22
| | | | | | | | | | | that Google Update will pick them up regardless of which one it happens to be monitoring. BUG=none TEST=Google Update continues to properly report install errors to its servers. Review URL: http://codereview.chromium.org/7036017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85921 0039d316-1c4b-4281-b951-d872f2087c98
* Copy setup.exe rather than moving it since it is created outside of the ↵grt@chromium.org2011-05-121-3/+5
| | | | | | | | | | | | target directory heirarchy (regression introduced in r75899). BUG=82424 TEST=Install system-level Chrome as some admin user X. Switch to admin user Y and try to uninstall. R=robertshield@chromium.org Review URL: http://codereview.chromium.org/7011018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85159 0039d316-1c4b-4281-b951-d872f2087c98
* Alter MoveTreeWorkItem to provide an option to not copy over a directory ↵robertshield@chromium.org2011-05-122-6/+16
| | | | | | | | | | | | 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
* Put SxS switches back into the rename command.grt@chromium.org2011-05-121-5/+5
| | | | | | | | | BUG=82207 TEST=See if in-use updates in the canaries and in Chrome Frame work. Review URL: http://codereview.chromium.org/7005019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85108 0039d316-1c4b-4281-b951-d872f2087c98
* Product-specific flags are no longer required, used, or validated in ↵grt@chromium.org2011-05-092-43/+63
| | | | | | | | | | | --rename-chrome-exe command lines. BUG=79935 TEST=Install version N-1 w/ --verbose-logging --chrome --chrome-frame --multi-install --ready-mode --system-level, navigate to gcf:about:version in IE, then install version N with same args. Inspect chrome_frame_installer.log and note the lack of validation errors. Close IE and note that the update completes and all "opv" and "cmd" values are removed from the various ClientState keys. Review URL: http://codereview.chromium.org/6951016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84641 0039d316-1c4b-4281-b951-d872f2087c98
* Control crash reporting and UMA collection in multi-install via a value in ↵grt@chromium.org2011-05-053-16/+140
| | | | | | | | | | | the multi-install binaries' ClientState{Medium} key. BUG=none TEST=Confirm no substantive change in single-install Chrome. In multi-install, usagestats should be in the ClientState\{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D} and/or ClientStateMedium\{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D} key. Enabling/disabling usage stats for multi-install Chrome (via Under the Hood) should control crash reports and UMA for multi-install Chrome Frame. Review URL: http://codereview.chromium.org/6936001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84250 0039d316-1c4b-4281-b951-d872f2087c98
* first-run: Reland refactor of Upgrade class into upgrade_util API.tfarina@chromium.org2011-04-131-2/+2
| | | | | | | | | | | | | This fix linux_chromeos build by adding an appropriate #ifdef on upgrade_util_linux.cc. BUG=79203 TEST=None TBR=jhawkins@chromium.org Review URL: http://codereview.chromium.org/6839021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81431 0039d316-1c4b-4281-b951-d872f2087c98
* Broke ARM compile.siggi@chromium.org2011-04-131-2/+2
| | | | | | | | Revert 81409 - first-run: Refactor Upgrade class into a common upgrade_util API.BUG=79203TEST=NoneR=jhawkins@chromium.orgReview URL: http://codereview.chromium.org/6840003 TBR=tfarina@chromium.org Review URL: http://codereview.chromium.org/6835022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81412 0039d316-1c4b-4281-b951-d872f2087c98
* first-run: Refactor Upgrade class into a common upgrade_util API.tfarina@chromium.org2011-04-131-2/+2
| | | | | | | | | | | BUG=79203 TEST=None R=jhawkins@chromium.org Review URL: http://codereview.chromium.org/6840003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81409 0039d316-1c4b-4281-b951-d872f2087c98
* Delete the setup temp file on uninstall.tommi@chromium.org2011-04-124-0/+85
| | | | | | | | TEST=See repro steps in bug report. BUG=79178 Review URL: http://codereview.chromium.org/6823086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81287 0039d316-1c4b-4281-b951-d872f2087c98
* Make the windows_version.h functions threadsafe by using a singleton. Add ↵pkasting@chromium.org2011-04-071-1/+2
| | | | | | | | | | | | accessors to the singleton for more values that various code wants, then convert almost everyone using OSVERSIONINFO or SYSTEM_INFO structs to calling these accessors. Declare an AtExitManager in the out-of-process test runner since it didn't have one and that breaks singleton-using code in the test executable (as opposed to in chrome.dll). A few other minor cleanups along the way (binding of "*", shorter code, etc.). Because I ran into problems with it while modifying gcapi.cc, I cleaned up our usage of strsafe.h a bit, so that files that don't need it don't include it and files that do use STRSAFE_NO_DEPRECATE instead of a modified #include order. BUG=none TEST=none Review URL: http://codereview.chromium.org/6816027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80851 0039d316-1c4b-4281-b951-d872f2087c98