Can I run multiple versions of Google Chrome on the same machine? (Mac or Windows)

TestingGoogle ChromeCross Browser

Testing Problem Overview


This fabulous answer suggests there’s no way to run multiple versions of Google Chrome on one machine.

Every now and then you’ll get a website user stuck on an old version of Chrome (no idea how, but it happens — maybe they installed the standalone version?) with an issue, and you need to be able to verify it. Bit difficult to do that without their browser version around.

Does anyone know if there’s actually a way to do this? I.e.

  1. Obtain an installer for an older version of Google Chrome (Google seems to keep very quiet about versions, which is great for users, less great for developers trying to support old versions)
  2. Run two versions of Google Chrome on one machine

Testing Solutions


Solution 1 - Testing

In the comments, I mentioned a step-by-step method to easily install multiple Chrome versions, side-by-side. This answer quotes my original answer, and includes a script which does the job for you.

> Quoted from: section 7 of Cross-browser testing: All major browsers on ONE machine: > > Chrome: Stand-alone installers can be downloaded from File Hippo. It is also possible to run multiple Chrome versions > side-by-side. > > Although Sandboxie can be used, it's > recommended to use the next native method in order to run multiple > versions side-by-side. > > 1. Download the desired version(s) from File Hippo. > 2. Create a main directory, e.g. C:\Chrome\. > 2. Extract the installer (=without installing), using 7-Zip for example. After extracting, a chrome.7z archive is > created. Also extract this file, and descend the created Chrome-bin > directory. Now, you see chrome.exe and a dir like 18.0.1025.45. > Move chrome.exe to 18.0.1025.45, then move this directory to > C:\Chrome. The remaining files in Chrome-bin can safely be > deleted. > 4. Create a shortcut for each version: > > "C:\Chrome\18.0.1024.45\chrome.exe" --user-data-dir="..\User Data\18" --chrome-version=18.0.1025.45 > > Explanation of this shortcut: > > * "C:\Chrome\18.0.1024.45\chrome.exe" • This is the > launcher

  • --user-data-dir="..\User Data\18" • User profile, relative to the location of chrome.exe. You could also have > used --user-data-dir="C:\Chrome\User Data\18" for the same effect. > Set your preferences for the lowest Chrome version, and duplicate the User profile for each Chrome version. Older Chrome versions > refuse to use User profiles from new versions.
  • --chrome-version=18.0.1025.45Location of binaries: > * The location (eg 18.0.1025.45) must be the name of the directory: > * Must start and end with a number. A dot may appear in between. > * The numbers do not necessarily have to match the real version number (though it's convenient to use real version numbers...). > > Regarding configuration: All preferences can be set at > chrome://settings/. I usually change the home page and "Under the > hood" settings. > > * Disable auto-updates: http://dev.chromium.org/administrators/turning-off-auto-updates

(the old version of this answer referred to Old Apps for old Chrome versions, but they do not offer direct download links any more through the UI. The files do still exist, I've created a shell script (bash) to ease the creation of a local repository of Chrome versions - see https://gist.github.com/Rob--W/8577499)

##VB Script which automates install, config & launch I've created a VB script which installs and configures Chrome (tested in XP and Win 7). Launch the script, and a file dialog appears (or: Drag & drop the chrome installer on the VBS). Select the destination of the Chrome installer, and the script automatically unpacks the files and duplicates the profile from a pre-configured base directory.

By default:

  1. The Chrome binaries are placed in subfolders of C:\Chrome\.
  2. The User profiles are created in C:\Chrome\User Data\.
  3. The user profiles will be duplicated from the directory as specified in the sFolderChromeUserDataDefault variable, which is C:\Chrome\User Data\2\ by default.
    After the first Chrome installation, set your preferences (Home page, bookmarks, ..). Then modify the variable (see 3.) in the source code. After that, installing and configuring Chrome is as easy as pie.

The only dependency is 7-zip, expected to be located at C:\Program Files\7-zip\7z.exe.

Solution 2 - Testing

I adopted @RobW's nice answer to get it working on Mac OS X 10.8. Other versions of Mac OS X may probably work too.

The little extra work is actually only needed to keep your original Google Chrome user settings and the old version separated.

  1. Download another version of Google Chrome, like the Dev channel and extract the .app file

  2. (optional) Rename it to Google Chrome X.app – if not already different from Google Chrome.app

> (Be sure to replace X for all following steps with the actual version of Chrome you just downloaded)

  1. Move Google Chrome X.app to /Applications without overwritting your current Chrome

  2. Open the Terminal, create a shell script and make your script executable:

    cd /Applications
    touch google-chrome-version-start.sh
    chmod +x google-chrome-version-start.sh
    nano google-chrome-version-start.sh
    
  3. Modify the following code according to the version you downloaded and paste it into the script

    #!/usr/bin/env bash
    /Applications/Google\ Chrome\ X.app/Contents/MacOS/Google\ Chrome\ X --user-data-dir="tmp/Google Chrome/X/" & disown
    

    For example for Dev Channel:

    #!/usr/bin/env bash
    /Applications/Google\ Chrome\ Dev.app/Contents/MacOS/Google\ Chrome\ Dev --user-data-dir="tmp/Google Chrome Dev/" & disown
    

    (This will store Chrome's data at ~/tmp/Google Chrome/VERSION/. For more explanations see the original answer.)

  4. Now execute the script and be happy!

    /Application/google-chrome-version-start.sh
    

Tested it with Google Chrome 88 on a Mac running OS X 10.15 Catalina

Solution 3 - Testing

Your mileage may vary (mine sure did), but here's what worked for me (current version of Chrome as of this post is 33.x, and I was interested in 24.x)

  • Visit the Chromium repo proxy lookup site: http://omahaproxy.appspot.com/

  • In the little box called "Revision Lookup" type in the version number. This will translate it to a Subversion revision number. Keep that number in mind.

  • Visit the build repository: http://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html

  • Select the folder corresponding to the OS you're interested in (I have Win x64, but had to use Win,because there was no x64 build corresponding to the version I was looking for).

  • If you select Win, you could be in for a wait - as some of the pages have a lot of entries. Once the page loads, scroll to the folder containing the revision number you identified in an earlier step. If you don't find one, choose the next one up. This is a bit of trial and error to be honest - I had to back up about 50 revisions until I found a version close to the one I was looking for

  • Drill into that folder and download (on the Win version) chrome-win32.zip. That's all you need.

  • Unzip that file and then run chrome.exe

This worked for me and I'm running the latest Chrome alongside version 25, without problems (some profile issues on the older version, but that's neither here nor there). Didn't need to do anything else.

Again, YMMV, but try this solution first since it requires the least amount of tomfoolery.

Solution 4 - Testing

For those who don't care if it's "Google Chrome", I suggest using "Chromium" instead.

See: Download Chromium

> 1. Look in http://googlechromereleases.blogspot.com/search/label/Stable%20updates for the last time "44." was mentioned. 2. Loop up that version history ("44.0.2403.157") in the Position Lookup

  1. In this case it returns a base position of "330231". This is the commit of where the 44 release was branched, back in May 2015.*
  2. Open the continuous builds archive
  3. Click through on your platform (Linux/Mac/Win)
  4. Paste "330231" into the filter field at the top and wait for all the results to XHR in.
  5. Eventually I get a perfect hit: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/330231/
  6. Sometimes you may have to decrement the commit number until you find one.
  7. Download and run!

Solution 5 - Testing

Though this seems to be an old question with many answers I'm posting another one, because it provides information about another approaches (looking more convenient than already mentioned), and the question itself remains actual.

First, there is a blogpost [Running multiple versions of Google Chrome on Windows][1]. It describes a method which works, but has 2 drawbacks:

  • you can't run Chrome instances of different versions simultaneously;
  • from time to time, Chrome changes format of its profile, and as long as 2 versions installed by this method share the same directory with profiles, this may produce a problem if it's happened to test 2 versions with incompatible profile formats;

Second method is a preferred one, which I'm currently using. It relies on portable versions of Chrome, which become available for every stable release at the [portableapps.com][2].

The only requirement of this method is that existing Chrome version should not run during installation of a next version. Of course, each version must be installed in a separate directory. This way, after installation, you can run Chromes of different versions in parallel. Of course, there is a drawback in this method as well:

Solution 6 - Testing

A small virtual machine maybe?

Try VirtualBox a freeware program to install virtual machines (a lot of work for what you want to do, but it'll work)

Solution 7 - Testing

As professional testers, my friends use Spoon.net browsers section to test compatibility of site in various browsers. Hope this should help you.

Solution 8 - Testing

I think I might have figured this out on Windows. You can run different versions of Chrome at the same time!

Do the following:

  • Copy over the version number directory into the usual c:\users\yourUser\appdata\local\google\chrome\application directory (I am assuming you had a backup of the older chrome version directory before the update occurred)

  • Copy over the chrome.exe from the older version as a new name such as chrome_custom.exe

  • Run chrome as chrome_custom.exe --chrome-version=olderVersion --user-data-dir=newDir

That's it! I use this method to run automated test on Chrome with Selenium, until selenium catches up and works well with the latest Chrome.

Solution 9 - Testing

I have done the following on a Citrix XenDesktop VM, however you could just do this on your local PC:

Microsoft Virtual PC

If you are running Windows 7, you can download Microsoft virtual PC and create as many copies of Virtual PC as you need for testing without any licensing issues:

This requires no additional Windows licenses; you simply set up multiple machines with different browsers on them. You can run the browsers out of the window by following the tutorial available here:

Installing Browsers

You will need to create at least 3 virtual PC's (tip: keep the memory down to 256mb for each virtual PC to avoid wasting memory on the virtual desktops).

On the first VPC I installed this:

along with Chrome 1, Safari 3.1, Opera 8.

On the second I installed Internet Explorer 7, Chrome 3, Safari 3.2.1, Opera 9.

On the third I installed Internet Explorer 8, Chrome 8. Safari 4.0.5, Opera 10.

On Windows 7 (native machine) I had Internet Explorer 9, Chrome 11, Safari 5, Opera 11 and for Firefox I install the following app natively too:

Personally I would not go back further than 5 years with compatibility (other than IE for government networks) unless you have a specific requirement (I split Chrome & Opera across years as I decided there were just to many releases). However, if you find that someone has a specific issue with a site using a specific version of the browser it becomes very easy to install additional virtual machines to run additional browser versions.

Obtaining Older Browsers

You can download older versions of Chrome from here:

and Opera here:

Virtualizing The Test Platform (Optional)

I use Xen Desktop to virtualize the testing platform so that I can use it anywhere and have included my favorite development tools on there as well:

The express edition is available for free.

A Good Commercial Alternative

Another great product I recently came accross is Stylizer which is a CSS editor that installs multiple versions of browsers for testing purposes, however this is a commercial paid for product but is very good and worth the small fee they require to run it.

Solution 10 - Testing

I've recently stumbled upon the following solution to this problem:

Source: Multiple versions of Chrome

> ...this is registry data problem: How to do it then (this is an example for 2.0.172.39 and 3.0.197.11, I'll try it with next versions as they will come, let's assume I've started with Chrome 2): > > 1. Install Chrome 2, you'll find it Application Data folder, since I'm from Czech Republic and my name is Bronislav Klučka the path looks like this: > > C:\Documents and Settings\Bronislav Klučka\Local Settings\Data aplikací\Google\Chrome > > and run Chrome > > 2. Open registry and save

> [HKEY_CURRENT_USER\Software\Google\Update\Clients{8A69D345-D564-463c-AFF1-A69D9E530F96}] > [HKEY_CURRENT_USER\Software\Google\Update\ClientState{8A69D345-D564-463c-AFF1-A69D9E530F96}] > > keys, put them into one chrome2.reg file and copy this file next to chrome.exe (ChromeDir\Application) > > 3. Rename Chrome folder to something else (e.g. Chrome2) > > > 4. Install Chrome 3, it will install to Chrome folder again and run Chrome > 5. Save the same keys (there are changes due to different version) and save it to the chrome3.reg file next to chrome.exe file of this new version again > 6. Rename the folder again (e.g. Chrome3) > > the result would be that there is no Chrome dir (only Chrome2 and Chrome3) > > 7. Go to the Application folder of Chrome2, create chrome.bat file with this content: > > @echo off > regedit /S chrome2.reg > START chrome.exe -user-data-dir="C:\Docume1\Bronis1\LocalS1\Dataap1\Google\Chrome2\User Data" > rem START chrome.exe -user-data-dir="C:\Documents and Settings\Bronislav Klučka\Local Settings\Data aplikací\Google\Chrome2\User Data" > > the first line is generic batch command, the second line will update registry with the content of chrome2.reg file, the third lines starts Chrome pointing to passed directory, the 4th line is commented and will not be run. > > Notice short name format passed as -user-data-dir parameter (the full path is at the 4th line), the problem is that Chrome using this parameter has a problem with diacritics (Czech characters) >
> 8. Do 7. again for Chrome 3, update paths and reg file name in bat file for Chrome 3 > > Try running both bat files, seems to be working, both versions of Chrome are running simultaneously. > > Updating: > Running "About" dialog displays correct version, but an error while checking for new one. To correct that do (I'll explain form Chrome2 folder): > 1. rename Chrome2 to Chrome > 2. Go to Chrome/Application folder > 3. run chrome2.reg file > 4. run chrome.exe > (works the same for Chrome3) > now the version checking works. There has been no new version of Chrome since I've find this whole solution up. But I assume that update will be downloaded to this folder so all you need to do is to update reg file after update and rename Chrome folder back to Chrome2. I'll update this post after successful Chrome update. > > Bronislav Klucka

Solution 11 - Testing

Rob W answer works if you can extract chrome.7z from the installer file, Unfortunately, the installer file is not extractable anymore, but you can find chrome.7z file in this address if you have installed chrome and it updated itself:

C:\Program Files (x86)\Google\Chrome\Application\95.0.4638.54\Installer

Or search your hard disk for chrome.7z file to find where Google stores update files for your OS.
After extraction as Rob W mentioned go to extracted folder and run new chrome with command:

.\chrome.exe --user-data-dir=".\User Data" --chrome-version=95.0.4638.54

Solution 12 - Testing

I have tried the various way to test one of a scenario which was chrome browser specific issue.

Best Solution a/c to me: Use Portable Versions

> Step-0: Uninstall your currently installed Google Chrome

  • Go to Control Panel > Uninstall a program > Click Google Chrome > Uninstall

>Step-1: Download the portable chrome version & Rename

  • Download the portable version of your choice from Portable Older Chrome Versions and save it instead of running it directly.
  • Go to downloaded file location and Rename the file to end with _online.paf.exe. Example:
  • Rename from google-chrome-portable-96-0-4664-93.exe to google-chrome-portable-96-0-4664-93_online.paf.exe

>Step-2: Install the portable version

  • Click on the renamed exe file to continue with the installation.
  • When asked for Destination Folder path -> Rename it to match version (just to avoid conflict with other versions and identify) as shown below. Rename Destination Folder to be unique

> Step-3: Finally Run the downloaded version:

  • Go inside the portable installed folder and from there run GoogleChromePortable.exe like below.

Run Portable exe

Whoa!! This works. Thanks a lot to the creators of Portable Chrome Versions.

Solution 13 - Testing

Oldapps.com has old versions of Chrome available for download, and they’re the standalone versions, so combined with @SamMeiers’ answer, these work a treat.

The Google Chrome support forum has some good discussion of getting old versions of Chrome.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPaul D. WaiteView Question on Stackoverflow
Solution 1 - TestingRob WView Answer on Stackoverflow
Solution 2 - TestingF LekschasView Answer on Stackoverflow
Solution 3 - TestingTom AugerView Answer on Stackoverflow
Solution 4 - TestingAlex HouView Answer on Stackoverflow
Solution 5 - TestingStanView Answer on Stackoverflow
Solution 6 - TestingIn81Vad0View Answer on Stackoverflow
Solution 7 - TestingTheMaskOfZeroView Answer on Stackoverflow
Solution 8 - TestingBinod PantView Answer on Stackoverflow
Solution 9 - TestingDaniel LawView Answer on Stackoverflow
Solution 10 - TestingjayarjoView Answer on Stackoverflow
Solution 11 - TestingMohsenView Answer on Stackoverflow
Solution 12 - TestingAstik AnandView Answer on Stackoverflow
Solution 13 - TestingPaul D. WaiteView Answer on Stackoverflow