Windows installer Chromium-如何使用mini_installer.exe制作实际安装程序

Windows installer Chromium-如何使用mini_installer.exe制作实际安装程序,windows-installer,chromium,Windows Installer,Chromium,从源代码构建chromium后,您可以通过运行 ninja -C out\BuildFolder mini_installer 这可以正常工作,并在out\BuildFolder中创建一个mini_installer.exe 但是,当我启动mini_installer.exe时,它只会启动Chrome。它没有打开一个好的安装程序界面 因此,我使用InnoSetup安装chromium文件,而我甚至没有使用mini_installer.exe 有人能描述一下这个“迷你安装程序”应该完成什么任务吗

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

ninja -C out\BuildFolder mini_installer
这可以正常工作,并在
out\BuildFolder
中创建一个
mini_installer.exe

但是,当我启动mini_installer.exe时,它只会启动Chrome。它没有打开一个好的安装程序界面

因此,我使用InnoSetup安装chromium文件,而我甚至没有使用
mini_installer.exe


有人能描述一下这个“迷你安装程序”应该完成什么任务吗?它能让我不必为我的Chromium fork设计自己的InnoSetup安装程序吗

mini_installer
只是一个打包器,它打包了以下文件:

 1. CHROME.PACKED.7z
 2. setup.exe
这些文件应该存在于您的
构建文件夹中
CHROME.PACKED.7z
packs
CHROME.7z
包括您的CHROME文件和文件夹


mini_installer
将把这两个文件提取到一个临时目录,然后执行
setup.exe
。例如,如果使用
--系统级
参数执行
mini_installer.exe
,它将把这些参数传递给
setup.exe

"C:\Users\Username\AppData\Local\Temp\CWB_341A7.tmp\setup.exe" --install-archive="C:\Users\Username\AppData\Local\Temp\CWB_341A7.tmp\CHROME.PACKED.7Z" --system-level
Chrome和Chrome的临时文件夹名称应该不同,因为我们修改了fork以使用
CWB
前缀

因此,它是负责实际安装和卸载过程的
setup.exe
。卸载Chromium fork
setup.exe时,将使用以下参数执行:

 C:\Program Files (x86)\YourChromium\Application\66.0.3359.139\Installer\setup.exe --uninstall --system-level
注意:如果您通过了
--系统级
,那么它将为所有用户安装

传递给
mini_installer
的参数将存储在注册表中,因此在卸载
setup.exe时,相同的参数将传递给
setup.exe
。通常应将其存储在以下位置:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\CompanyName\Update\ClientState\{Your-Chromium-fork-GUID} (for system-level installations)
卸载Chromium fork时,将读取并使用
UninstallArguments
UninstallString
的值

希望有帮助

编辑:

只需为任何可能发现此信息有用的人添加此信息。安装程序有多种命令行选项,您可以在此处找到:


chrome\installer\util\master\u preferences\u constants.cc

我可以为您提供有关此问题的详细信息。我现在正在写:)谢谢!我会删除我的答案是的,这很有帮助。问题-如果我想在chromium启动时(最重要的是日志记录)添加一些命令行参数,该怎么办。有没有办法a)告诉mini_安装程序不要启动chrome只是安装,或者B)我能告诉它总是给chrome一些参数吗?因为如果它立即启动chromium,我将无法在“First Run=true”期间看到日志记录chromium已经支持日志记录:您也可以添加或修改现有的命令行参数或开关。现有的开关可以在这里找到:
src\chrome\common\chrome\u switches.cc
要添加您自己的开关,请参阅base::CommandLine类的方法:
src\base\command\u line.cc
对不起,我不清楚。我想问的是如何让
mini_installer.exe
使用
启动chrome--启用日志记录--v=1
以便我的第一次运行具有日志记录功能?您应该修改chrome源代码来实现这一点。如果打开此文件:
src\chrome\browser\first\u run\first\u run.cc
,则有一个方法
IsChromeFirstRun
将返回一个布尔值,指示是否首次运行。如果它返回true,那么您可以附加该开关,但是您必须再次修改Chromium源代码。顺便说一句,如果您传递
--系统级
参数,那么我确信它不会启动Chromium。虽然我可能错了,但是试试看