Chromium - Как сделать настоящий установщик из mini_installer.exe - PullRequest
0 голосов
/ 12 мая 2018

После сборки хрома из исходного кода вы можете создать «мини-установщик» для Windows, запустив

ninja -C out\BuildFolder mini_installer

. Это прекрасно работает и создает mini_installer.exe в out\BuildFolder.

Но когда я запускаю mini_installer.exe, он просто запускает хром.Это не открывает хороший интерфейс установщика.

Так что вместо этого я использую InnoSetup для установки файлов chromium, и я даже не использую mini_installer.exe.

Может кто-нибудь, пожалуйста, опишите, что должен делать этот "mini_installer"?Может ли это избавить меня от необходимости делать собственный инсталлятор InnoSetup для моей развилки Chromium?

1 Ответ

0 голосов
/ 12 мая 2018

mini_installer - это просто упаковщик, который упаковывает следующие файлы:

 1. CHROME.PACKED.7z
 2. setup.exe

Эти файлы должны присутствовать в вашем BuildFolder. CHROME.PACKED.7z пакетов Chrome.7z, которые включают ваши файлы и папки Chromium.

mini_installer извлечет эти два файла во временный каталог и затем выполнит setup.exe. Например, если mini_installer.exe был выполнен с аргументом --system-level, он передаст эти аргументы 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

Это имя временной папки должно отличаться для Chromium и Chrome, потому что мы изменили наш форк, чтобы использовать CWB префикс

Итак, setup.exe отвечает за фактическую установку и удаление. При удалении вашего Chromium форк setup.exe будет выполняться со следующими аргументами:

 C:\Program Files (x86)\YourChromium\Application\66.0.3359.139\Installer\setup.exe --uninstall --system-level

Примечание: если вы передадите --system-level, он будет установлен для всех пользователей.

Аргументы, которые вы передаете mini_installer, будут сохранены в реестре, поэтому тот же аргумент будет передан setup.exe при его удалении. Обычно он должен храниться здесь:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\CompanyName\Update\ClientState\{Your-Chromium-fork-GUID} (for system-level installations)

Значения UninstallArguments и UninstallString будут считаны и использованы при удалении вилки Chromium.

Надеюсь, это поможет

EDIT:

Просто добавьте эту информацию для тех, кто может найти это полезным. Существуют различные параметры командной строки для установщика, которые вы можете найти здесь:

chrome\installer\util\master_preferences_constants.cc

...