Chromium - mini_installer 忽略品牌

Chromium - mini_installer ignores branding

从源代码构建 Chromium 后,您可以通过 运行

为 Windows 创建一个 "mini installer"
ninja -C out\BuildFolder mini_installer

这很好用并在 out\BuildFolder 中创建了一个 mini_installer.exe

有关详细信息,请参阅

但是在 运行 mini_installer.exe 之后,应用程序忽略了我的品牌和 grd 资源定制。

应该用"IDS_PRODUCT_NAME_BASE",我肯定是定制的

以下是我应用品牌的文件:

但它似乎忽略了它们。

如何定制它?

品牌化不会更改生成的可执行文件的名称。您应该修改 src\chrome\BUILD.gn 以将名称从 chrome.exe 更改为 CustomProductName.exe,如下所示:

if (is_win) {
action("reorder_imports") {
script = "//build/win/reorder-imports.py"

# See comment in chrome_dll.gypi in the hardlink_to_output
# target for why this cannot be 'initial' like the DLL.
inputs = [
  "$root_out_dir/initialexe/CustomProductName.exe",
]
outputs = [
  "$root_out_dir/CustomProductName.exe",
]
if (symbol_level != 0) {
  outputs += [ "$root_out_dir/CustomProductName.exe.pdb" ]
}
... later in the file ...
chrome_binary("chrome_initial") {
  if (is_win) {
    output_name = "initialexe/CustomProductName"

这样做会在您的 BuildFolder 中生成 CustomProductName.exe 而不是 Chrome.exe。之后,您也应该通过修改此文件来通知迷你安装程序:src\chrome\installer\mini_installer\BUILD.gn:

action(archive_name) {
script = "//chrome/tools/build/win/create_installer_archive.py"

release_file = "chrome.release"

inputs = [
  "$chrome_dll_file",
  "$root_out_dir/CustomProductName.exe",
  "$root_out_dir/locales/en-US.pak",
  "$root_out_dir/setup.exe",
  "//chrome/tools/build/win/makecab.py",
  release_file,
]

这些更改只会更改可执行文件的名称。您还必须修改源代码以反映这些更改。

在此文件中指定浏览器可执行文件的名称:src\chrome\installer\util\util_constants.cc

const wchar_t kChromeExe[] = L"CustomProductName.exe";

应在此文件中指定安装文件夹的路径: src\chrome\install_static\chromium_install_modes.cc

const wchar_t kCompanyPathName[] = L"CompanyName";

const wchar_t kProductPathName[] = L"CustomProductName";

同样,您也必须在此文件中更改公司名称和应用程序名称:src\chrome\installer\util\browser_distribution.cc。我不确定当前版本的 Chromium 是否仍然使用来自 BrowserDistribution class.

的数据

如果有效请告诉我。我刚刚浏览了我们的回购历史以找出这些变化。

更新:

评论揭示了更多地方:

打开chrome_elf/BUILD.gn并在此处更改:

$root_out_dir/CustomProductName.exe

并在此处更改:chrome/installer/mini_installer/chrome.release

CustomProductName.exe: %(ChromeDir)s\

并在此处更改:build/win/reorder-imports.py

input_image = os.path.join(input_dir, 'CustomProductName.exe')
output_image = os.path.join(output_dir, 'CustomProductName.exe')
... later on in the file ...
for fname in glob.iglob(os.path.join(input_dir, 'CustomProductName.exe.*')):