Удаление диалогов по умолчанию из 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.

И прежде чем перейти к пользовательским загрузчикам:

2 - Пользовательское приложение Bootstrapper

Насколько я понимаю, написать собственное приложение начальной загрузки - это не прогулка по парку, и у меня никогда не было шансов сделать это. Документация кажется недостаточной: Создание пользовательского приложения Bootstrapper (официальная документация, о которой я знаю).

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


Еще немного:

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

Опции коммерческого инструмента установки Installshield и Advanced Installer имеют GUI-интерфейсы, которые можно использовать для создания setup.exe который будет запускать файлы MSI с параметрами, которые вы собираете.

Installshield

В Installshield есть довольно новая функция в последних выпусках, называемая Installshield Suite Projects. Я не уверен, в каких выпусках он доступен (более высокие выпуски - например, "Премиум"). Позволяет устанавливать различные файлы "по порядку": MSI, MSP, EXE, MSU, etc...,

Хотя я никогда не использовал его много, я уверен, что вы можете довольно легко создать графический интерфейс и контролировать, какие диалоги показывать из какой настройки. Я установил бы их все тихо с командной строкой. Проверьте хотя бы первую ссылку ниже - снимки экрана. Это должно дать вам основную идею вещей.

Некоторые ссылки:

Расширенный установщик

Расширенный установщик предоставляет расширенные возможности для включения необходимых компонентов и пакетов в основной установщик MSI и позволяет создавать новые диалоговые окна, такие как Installshield. Еще раз, у меня не было времени, чтобы полностью протестировать его, но ниже приведены некоторые советы по его использованию.

Особенности этого центра вокруг просмотров " Prerequisites "," Build " а также " Dialogs ". В " Build msgstr "посмотреть набор выводов EXE. В" Prerequisites "Выберите верхний уровень" Packages "пункт, чтобы получить список встроенных, доступных предпосылок. Щелкните правой кнопкой мыши" Pre-Install "Чтобы добавить свой собственный пакет. Я не знаком с деталями диалога, но вы можете работать с ними в" Dialogs "точка зрения. Не ракетостроение это хорошая новость.

Некоторые ссылки:

Я остановлюсь на этом. Слишком много ссылок уже.

Другие вопросы по тегам