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",我肯定是定制的
以下是我应用品牌的文件:
chrome\app\chromium_strings.grd
chrome\app\settings_chromium_strings.grdp
chrome\app\theme\chromium\BRANDING
但它似乎忽略了它们。
- 程序安装在
C:\Program Files (x86)\Chromium
而不是 C:\Program Files (x86)\CustomProductName
- 可执行文件仍命名为
chrome.exe
而不是 CustomProductName.exe
如何定制它?
品牌化不会更改生成的可执行文件的名称。您应该修改 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.*')):
从源代码构建 Chromium 后,您可以通过 运行
为 Windows 创建一个 "mini installer"ninja -C out\BuildFolder mini_installer
这很好用并在 out\BuildFolder
中创建了一个 mini_installer.exe
。
有关详细信息,请参阅
但是在 运行 mini_installer.exe
之后,应用程序忽略了我的品牌和 grd
资源定制。
应该用"IDS_PRODUCT_NAME_BASE",我肯定是定制的
以下是我应用品牌的文件:
chrome\app\chromium_strings.grd
chrome\app\settings_chromium_strings.grdp
chrome\app\theme\chromium\BRANDING
但它似乎忽略了它们。
- 程序安装在
C:\Program Files (x86)\Chromium
而不是C:\Program Files (x86)\CustomProductName
- 可执行文件仍命名为
chrome.exe
而不是CustomProductName.exe
如何定制它?
品牌化不会更改生成的可执行文件的名称。您应该修改 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.*')):