Я не использую этот конкретный инструмент. Там может быть лучший способ
достичь того, что вы хотите, чем ниже "взломать". Добавление, так как других ответов у вас нет (пока).
ОБНОВЛЕНИЕ : Пойдите с ответом Фила. У меня нет инструмента для проверки, но он выглядит хорошо. Оставив в этом ответе только для записи. Не рекомендуется, если у вас нет других вещей, которые вы хотите изменить.
Пост-процесс MSI
Скрытие управления : не идеально, но если вы не возражаете против последующей обработки MSI (может быть автоматизировано с помощью API-интерфейса MSI), вы можете вставить строку в Таблица ControlCondition , чтобы скрыть весь рассматриваемый диалоговый элемент управления.
Специальный образец : Скрытие кнопки «Назад» от настройки LicenseAgreementDlg
- просто добавьте эту строку (я думаю, события, определенные в другом месте, могут показать ее снова):
.
Диалог во время выполнения : Ниже приведен фактический диалог во время выполнения.
MSI API
Для автоматизации вышеперечисленного. Возьмите WiRunSQL.vbs
- часть Windows SDK - просто поищите в своей папке SDK, если у вас установлена Visual Studio. Также много копий на github .
В пакетном файле:
cscript.exe "%~dp0"\WiRunSQL.vbs "MySetup.msi" "INSERT INTO `ControlCondition` (`Dialog_`, `Control_`, `Action`, `Condition`) VALUES ('LicenseAgreementDlg', 'Back', 'Hide', '1')"
pause
Я, честно говоря, мог бы ввести жесткий код ALLUSERS=1
в таблицу Property .