2014-01-29 4 views
0

У меня есть установщик WIX, которому необходимо запустить еще 4 установщика. Все находятся в файлах Exe, но нам может потребоваться добавить дополнительные с установщиками MSI.WIX, Bootstrapper или пользовательские действия

После большого количества исследований консенсус, который я пришел, заключался в использовании загрузчика и подключении инсталляторов для детей. Но последнее сообщение, которое я нашел в конце комментария, сказал: «Но теперь вы можете использовать для этого специальные действия».

Проблема с пользовательскими действиями заключается в том, что все они запускаются до появления графического интерфейса, когда выбран режим немедленного доступа. Но если я использую «delayed», то пользовательские действия не имеют доступа к большинству данных переменной установщика. Итак, я возвращаюсь к чертежной доске: следует ли использовать загрузчик и цепочку, или как-то использовать пользовательские действия?

Любые предложения с благодарностью.

ответ

2

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

«Правильный» способ выполнить несколько EXE-установок с помощью загрузчика.

Единственное место, где вы можете выполнять индивидуальные действия, вызывающие другие инсталляторы, - это когда у вас относительно простой сторонний установщик, который не использует установщик Windows. В этих случаях вы можете запланировать пользовательское действие as deferred до InstallFinalize и use CustomActionData, чтобы передать любую необходимую информацию.

Отсроченный инсталлятор работает в процессе повышенного уровня, и это, как правило, является определяющим фактором в том, будет ли действие перенесено или незамедлительно. Вы можете запланировать немедленное действие до или после установки, но оно будет работать только с правами пользователя.

+0

Привет Митч, спасибо! Сейчас у нас нет MSI, но, вероятно, это необходимо в будущем. Начало работы неправильным образом звучит, как много работы, чтобы уйти позже, и кто знает, с какими проблемами мы столкнемся. Если это не пользовательское действие, есть ли способ передать данные в загрузчик? Im действительно новичок с этой штукой, но все, как bootstrapper, запускает вещи вне среды исходного сценария установки. – user3248498

+0

«похоже, что bootstrapper запускает вещи за пределами исходного скрипта установки» - это правильно. Это действительно заканчивается тем, что 3 (или сколько вам нужно) отдельных установщиков, которые вызываются другим сценарием. Хороший учебник по всему этому - http://wixtoolset.org/documentation/manual/v3/bundle/ – Mitch

Смежные вопросы