There are a lot of answers here but most of them seem to use HKEY_CLASSES_ROOT
. This is a legacy key and really shouldn't be used any longer (to put into perspective, HKEY_CLASSES_ROOT
comes from Windows 3.1 and was intended for backward compatibility). The correct place to make these changes is under HKEY_CURRENT_USER\Software\Classes\
.
As mentioned all over the place here, Chrome stores each "profile" in its own directory. When launching, the --profile-directory
command-line switch can be used to select a specific profile directory. Without this switch, Chrome will simply use whichever profile was last used. The default profile (the first user you logged in as after installing chrome) is always stored in the directory "default".
The simplest method for setting a profile is to simply edit Chrome's shortcut and add the command-line parameter --profile-directory="default"
:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Default"
The downside with this approach is that it only affects the shortcut itself. If Chrome is your default browser, and another application opens a page, this will have no effect. Similarly, if you associate a local file extension with Chrome, it will not affect which profile is selected when opening that file type from Windows Explorer.
The fix for this is to specify the profile to use in the Windows Registry. In order for this to work for both mapped extensions and shell execution, we need to make a change in two different places:
HKEY_CURRENT_USER\Software\Classes\Applications\chrome.exe\shell\open\command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell\open\command
The default value for both of these are the same:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"
Just as with the Shortcut method discussed previously, we simply need to add the --profile-directory="default"
switch. One difference, however, it that here we need to add it between "chrome.exe"
and -- "%1"
:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Default" -- "%1"
For a quick-n-dirty solution, create a file called ChromeDefault.reg
and copy & paste the following into it:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Applications\chrome.exe\shell\open\command]
@="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" --profile-directory=\"Default\" -- \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell\open\command]
@="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" --profile-directory=\"Default\" -- \"%1\""
Once saved, double-clicking this file will automatically make the necessary changes to your registry. This simply saves you the trouble of walking through the tree in RegEdit.