01 一个比较严重的问题
如果程序安装在 系统的 C:\Program Files (x86)
目录下,在 win10 上,com注册无法成功,打开的默认应用里面没有自己的产品注册信息。
如果用管理员权限启动,可以注册成功,但是注册的键值没有带用户信息部分。
\HKEY_CLASSES_ROOT\ZdxHTM
而普通用户是有用户注册信息部分的。EBK6CUZ43ZWYLFAZWDZ5HR4MJ4
部分是根据用户sid计算出来的。
\HKEY_CLASSES_ROOT\ZdxHTM.EBK6CUZ43ZWYLFAZWDZ5HR4MJ4
安装在
C:\Program Files (x86)
下的程序注册的对 普通位置的程序无效,普通程序注册的对C:\Program Files (x86)
下的程序无效
这个问题考虑把安装目录放到 %LocalAppData%或者 %AppData% 就可以了。
02 一些可修改项
68.0.3440.105版本的chromium设置默认浏览器,debug版本会有一个检查异常,不影响正常设置默认浏览器。
如果自己修改过产品名称,需要注意需要修改下com注册的键值。
src\chrome\install_static\chromium_install_modes.cc 中的
const InstallConstants kInstallModes[] = {
// The primary (and only) install mode for Chromium.
{
sizeof(kInstallModes[0]),
CHROMIUM_INDEX, // The one and only mode for Chromium.
"", // No install switch for the primary install mode.
L"", // Empty install_suffix for the primary install mode.
L"", // No logo suffix for the primary install mode.
L"", // Empty app_guid since no integraion with Google Update.
L"Chromium", // A distinct base_app_name.
L"Chromium", // A distinct base_app_id.
L"ChromiumHTM", // ProgID prefix.
L"Chromium HTML Document", // ProgID description.
L"{7D2B3E1D-D096-4594-9D8F-A6667F12E0AC}", // Active Setup GUID.
L"{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}", // CommandExecuteImpl CLSID.
{0x635EFA6F,
0x08D5,
0x4EC9,
{0xBD, 0x14, 0x8A, 0x0F, 0xDE, 0x97, 0x51,
0x59}}, // Toast Activator CLSID.
{0xD133B120,
0x6DB4,
0x4D6B,
{0x8B, 0xFE, 0x83, 0xBF, 0x8C, 0xA1, 0xB1, 0xB0}}, // Elevator CLSID.
L"", // Empty default channel name since no update integration.
ChannelStrategy::UNSUPPORTED,
true, // Supports system-level installs.
true, // Supports in-product set as default browser UX.
false, // Does not support retention experiments.
true, // Supported multi-install.
icon_resources::kApplicationIndex, // App icon resource index.
IDR_MAINFRAME, // App icon resource id.
},
};
的
L"Chromium", // A distinct base_app_name.
L"Chromium", // A distinct base_app_id.
L"ChromiumHTM", // ProgID prefix.
L"Chromium HTML Document", // ProgID description.
L"{7D2B3E1D-D096-4594-9D8F-A6667F12E0AC}", // Active Setup GUID.
L"{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}", // CommandExecuteImpl CLSID.
7D2B3E1D-D096-4594-9D8F-A6667F12E0AC
和A2DF06F9-A21A-44A8-8A99-8B9C84F29160
一定要修改一下,否则,如果还安装了Chromium,就会混淆掉。导致默认浏览器设置失败。