I tried the script from @Maverick and it partly worked (thanks!) but I ran into some difficulties. The main problem is that the wrapped copy of Chrome, although it is independent, has its own icon, and works correctly on its own, cannot open URLs sent from other applications, so it doesn't work with Choosy.
Here is what worked for me, to get a second Chrome which can open links via Choosy, for example:
Library/Application Support/Google/Chrome to
Library/Application Support/Google/ChromePersonal in your home directory.
This is optional; I wanted to transfer over my Chrome User profiles to the new instance. But if you're OK starting fresh you can skip this.
Google Chrome.app to another location. I used
/Applications/Google Chrome Personal.app.
- Copy my wrapper.sh script (below) into the app's
Contents/Info.plist in this new app to point to the wrapper script (set
CFBundleExecutable value to
wrapper.sh), and to have a unique
CFBundleIdentifier (just add "Personal" to the existing value).
Here is my modified wrapper.sh script. Put it at
/Applications/Google\ Chrome\ Personal.app/Contents/MacOS/wrapper.sh and then edit the Info.plist as in step 4.
# Wrapper script that starts independent instance of Google Chrome for Mac
# To use: copy Google Chrome.app to a new location. Copy this script into
# the Contents/MacOS directory of the copied app. Edit the copied app's
# Contents/Info.plist and change CFBundleExecutable to "wrapper.sh",
# and pick a unique CFBundleIdentifier.
# Instance data will be stored here. You can copy your existing data
# to this location if you want to preserve your existing user profile(s).
# You can also change this if you want to store the data somewhere else.
# Find the Google Chrome binary:
CHOME_BIN="$(dirname "$0")/Google Chrome"
# Start Chrome
exec "$CHOME_BIN" --user-data-dir="$INSTANCE_DIR"
One caveat: I believe Chrome's auto-update feature will break this every time Chrome updates, meaning you need to re-do steps 3 and 4 after every Chrome update.