Удаление диалогов по умолчанию из MSI
У меня есть бутстраппер, который оборачивает многие msi
файлы. Некоторые из них требуют пользовательского ввода для настройки некоторых функций. Эти msi
файлы, для которых требуется настраиваемая конфигурация, показывают слишком много диалогов, которые мне нужно удалить, например, WelcomeDlg
,
Я прочитал вокруг, но я не нашел никакого решения, которое бы соответствовало моим фактическим требованиям, поэтому мне интересно, возможно ли это на самом деле. Итак, можно ли было бы просто показать диалоги, которые требуют взаимодействия с пользователем, например, избегая диалогов приветствия или завершения?
Заранее спасибо!
2 ответа
Настроенный графический интерфейс: чтобы кратко ответить здесь: вы можете написать свой собственный графический интерфейс, который дает вам контроль над "всем" в графическом интерфейсе настройки, подавляя собственный внутренний интерфейс каждого MSI во время установки.
Вы собираете параметры с помощью своего собственного графического интерфейса, разработанного любым выбранным вами способом, и запускаете установку каждого MSI-файла в режиме без вывода сообщений с заданными параметрами, используя для этого команды из пользовательского приложения начальной загрузки. Это возможно, но без пикника. Пожалуйста, прочтите резюме ниже - недостаточно, но это то, что я получил для вас.
Обратите внимание, что установщик WiX сам использует такой пользовательский графический интерфейс записи (и, следовательно, работает как пример того, как может выглядеть такой пользовательский графический интерфейс). А вот собственный исходный код установщика WiX для приложения Managed Bootstrapper - для самого установщика WiX 3 - другими словами.
жечь
Ожог это bootstrapper
, downloader
, chainer
и engine
, Каждый жгучий сверток (setup.exe
) есть " Bootstrapper Application
"который по сути составляет графический интерфейс установки - он управляет движком Burn. Существует стандартное приложение начальной загрузки, которое используется по умолчанию, но вы можете полностью написать свой собственный графический интерфейс начальной загрузки. Приложение начальной загрузки (BA) - это DLL, загружаемая механизмом записи,
Стандартное приложение начальной загрузки настраивается различными способами, тогда как пользовательское приложение начальной загрузки полностью настраиваемо - очевидно. Это загрузочное приложение может быть написано в управляемом коде или в собственном коде.
Прочтите документацию по Burn, начиная с этой страницы: Сборка пакетов для сборки.
1 - Стандартное приложение Bootstrapper
Вот выдержка из официальной документации WiX, чтобы увидеть базовую разметку, необходимую для " вызова " стандартного загрузочного приложения, которое будет скомпилировано в ваш setup.exe
(несколько раз произнесите " 668 - сосед зверя " и нажмите "Построить", если вы находитесь в Visual Studio):
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
</Chain>
</Bundle>
</Wix>
Позвольте мне больше не дублировать контент, а вместо этого отправлю вам официальную документацию по теме: Работа с приложением WiX Standard Bootstrapper.
И прежде чем перейти к пользовательским загрузчикам:
- Реальный фрагмент Burn (включая предварительные условия).
- Фрагмент записи Hello-world (со множеством других ссылок на информацию о записи).
2 - Пользовательское приложение Bootstrapper
Насколько я понимаю, написать собственное приложение начальной загрузки - это не прогулка по парку, и у меня никогда не было шансов сделать это. Документация кажется недостаточной: Создание пользовательского приложения Bootstrapper (официальная документация, о которой я знаю).
Я нашел следующие реальные образцы здесь и там, но еще не примерил их для размера. Пожалуйста, поделитесь своими наблюдениями, если вы решите пойти по этому пути:
https://github.com/rstropek/Samples/tree/master/WiXSamples/CustomBurnUI
- Больше образцов WiX для других аспектов WiX нашли уровень или два выше
Еще немного:
- Проект установки Visual Studio 2017 - включает распространяемый VC++ 2015
- Именованный экземпляр SQL Server с проектом установщика Visual Studio 2017 (много других ссылок для записи)
- Wix Burn не позволяет удалить файл
- Объедините EXE и MSI-файл в одном установщике
- WIX Installer с современным интерфейсом
- https://github.com/frederiksen/Classic-WiX-Burn-Theme (хороший пример записи с использованием стандартного приложения начальной загрузки здесь)
- https://www.firegiant.com/wix/tutorial/net-and-net/bootstrapping/
Альтернативы WiX: После описания функции записи WiX я начал думать, что это может быть не то, что вам нужно для выполнения своей работы. Это сложный и сложный процесс для разработчика, хотя он должен быть полностью управляемым для разработчика, чтобы реализовать то, что ему нужно, без особых проблем. Гибкость очень высокая.
Опции коммерческого инструмента установки Installshield и Advanced Installer имеют GUI-интерфейсы, которые можно использовать для создания setup.exe
который будет запускать файлы MSI с параметрами, которые вы собираете.
Installshield
В Installshield есть довольно новая функция в последних выпусках, называемая Installshield Suite Projects. Я не уверен, в каких выпусках он доступен (более высокие выпуски - например, "Премиум"). Позволяет устанавливать различные файлы "по порядку": MSI
, MSP
, EXE
, MSU
, etc...
,
Хотя я никогда не использовал его много, я уверен, что вы можете довольно легко создать графический интерфейс и контролировать, какие диалоги показывать из какой настройки. Я установил бы их все тихо с командной строкой. Проверьте хотя бы первую ссылку ниже - снимки экрана. Это должно дать вам основную идею вещей.
Некоторые ссылки:
- Снимок экрана графического интерфейса Suite
- Образец видео Flexera / Installshield
- И еще один пример видео с плохим разрешением, но он все еще может быть полезен
- И видео с некоторыми слайдами по теме
Расширенный установщик
Расширенный установщик предоставляет расширенные возможности для включения необходимых компонентов и пакетов в основной установщик MSI и позволяет создавать новые диалоговые окна, такие как Installshield. Еще раз, у меня не было времени, чтобы полностью протестировать его, но ниже приведены некоторые советы по его использованию.
Особенности этого центра вокруг просмотров " Prerequisites
"," Build
" а также " Dialogs
". В " Build
msgstr "посмотреть набор выводов EXE. В" Prerequisites
"Выберите верхний уровень" Packages
"пункт, чтобы получить список встроенных, доступных предпосылок. Щелкните правой кнопкой мыши" Pre-Install
"Чтобы добавить свой собственный пакет. Я не знаком с деталями диалога, но вы можете работать с ними в" Dialogs
"точка зрения. Не ракетостроение это хорошая новость.
Некоторые ссылки:
- Редактор диалогов WYSIWYG для предварительной установки предварительных условий
- Создание установщика EXE с помощью Advance Installer 11.2 с помощью скрипта, предварительных условий, SQL Express
- Условно установить предварительное условие на основе выбора пользователя
- И я просто добавлю общий поиск YouTube (в случае добавления новых видео)
Я остановлюсь на этом. Слишком много ссылок уже.