I’ve been struggling with this issue since switching to Chrome when it first came out. Unfortunately Chrome is not designed (or currently intelligent enough) to include command-line arguments when it registers as the default browser.
I have submitted an issue to request that Chrome / Chromium include command-line arguments when registering as the default browser, but don’t hold your breath on it being implemented. (They are apparently not interested in fixing this.)
Tl;dr: skip next paragraph.
My first solution—read work-around—was originally to create a .REG file to manually set the command-line for each of the various places that need to be registered (for HTM* files, for HTTP* protocols, for hyperlinks, etc.) Of course that became quite untenable, especially since I used expandable strings (which are exported to REG files as unreadable / un-editable binary text) so that I could use environment variables. I don’t recommend this method.
My next (and current) solution was to create three environment variables,
browser_args_cu. The former variable simply holds the path to the browser’s EXE file. The second holds the command-line arguments for the browser (if any), while the last one holds user-specific arguments (such as the userdata folder location). Then, I simply replaced all instances where a browser needs to be registered (see list below) with the expandable string
%browser% %browser_args_cu% %browser_args% -- "%1" and created a (4KB) REG file.
Now, I can register my “browser” of choice by merging my REG file just once. If I want to change my browser, I need not edit the REG file; all I have to do is change one or two environment variables (eg in System Properties), which is infinitely easier. Plus, I can run the browser with the appropriate command line anywhere, anytime by running the short command
%browser% %browser_args_cu% %browser_args% -- "%1" and can even test other options by tacking them on to the end, or better, just put the variables in a batch file or shortcut (eg named
browser). Then for example, to install an extension without experiencing the crippling bug that I have been trying to help fix, I can just close Chromium, then run
browser --single-process or I can open the extension’s page directly like
browser --single-process https://chrome.google.com/webstore/detail/….
List of places in the registry where Chrome/Chromium is set:
[HKCR\pdf_auto_file\shell\open\command] (these two are custom for opening
[HKCR\svg_auto_file\shell\open\command] PDF and SVG files with)