Scoop安装Chrome设置默认浏览器不加载用户数据的问题
环境
json:googlechrome.json
前置知识
通常chrome的用户数据是存储在 "C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data"文件夹中,不过scoop为了便携,让用户数据可以单独放在scoop的persist目录里,会在安装后创建的chrome快捷键方式中使用--user-data-dir=参数来设置用户数据路径
使用scoop安装后,开始菜单中chrome的快捷方式中填写的地址是这样的
C:\Users\{你的用户名}\scoop\apps\googlechrome\current\chrome.exe --user-data-dir="C:\Users\Hex\scoop\apps\googlechrome\current\User Data"
这很好(也许),使得可以迁移scoop依然能保留chrome的用户数据
问题
在scoop第一次安装完chrome后,如果没有在登录页面直接点击设置成默认浏览器,可能会导致一些通过默认浏览器打开网页的软件不加载scoop下的用户数据,这时候即使卸载chrome重新安装也一样
比如使用 explorer.exe "https://google.com" 命令在powershell中使用explorer拉起chrome就可以观察到,或者在vscode中拉起也可以观察到这个现象
解决
这个问题的关键就在于在设置默认浏览器的时候没有传递--user-data-dir参数,让chrome去读取了 "C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data"文件夹中的数据,而这个现在并不是我们使用chrome时存放用户路径的,或者这个路径下就是空的,这时候打开chrome就变成了登录页面了。
所以需要找到设置默认浏览器的配置文件或者注册列表之类的,并把这个参数加上
搜索了一下,发现这个是在注册列表中配置的
我当前系统是在这个路径下(你电脑上肯定不一样的)
Computer\HKEY_USERS\S-1-5-21-4241745024-2731878371-2167451356-1001\SOFTWARE\Classes\ChromeHTML.LRUVAM7VSMNF7N22QFWSTVUJYQ\shell\open\command
有个 default 项
"C:\Users\Hex\scoop\apps\googlechrome\current\chrome.exe" --single-argument %1
只需要加一个--user-data-dir=参数(记得把Hex换成你自己的用户名)
"C:\Users\Hex\scoop\apps\googlechrome\current\chrome.exe" --user-data-dir="C:\Users\Hex\scoop\apps\googlechrome\current\User Data" --single-argument %1
这样通过默认浏览器打开网页就可以加载scoop目录下的用户数据了
那么如何找这个路径?
关键是ChromeHTML.LRUVAM7VSMNF7N22QFWSTVUJYQ 这个,但这个看着像是随机生成的,所以可以先搜索ChromeHTML.来找到全称,或者干脆直接搜索chrome的完整路径。(要记得先去设置chrome为默认浏览器才会有这个注册列表项)
scoop的一个issue也提到了这个问题 After updating scoop's Google Chrome it went nuts

浙公网安备 33010602011771号