Включение множества файлов в WiX без перечисления каждого из них.

Я пишу MSI для использования WiX 3.0 и пытаюсь понять, как заставить его включать все файлы из каталога, кроме некоторых, без необходимости вручную указывать каждый атрибут. Подобно динамическому подхвату в installshield.

Я ищу для справки старый установщик (который использует WiX 2.0) делает следующее:

  1. Makefile для вызова сценария, который скопирует все необходимые файлы в отдельную структуру каталогов, имитирующую способ установки конечного продукта.
  2. другой сценарий для вставки атрибутов каждого из файлов в этой временной папке в частично заполненный файл wxs.
  3. WiX работает

Я хочу избежать этого шага, и мне было интересно, есть ли какие-нибудь команды или директивы препроцессора для достижения этого самого WiX?

Также 1-й шаг выше выводит некоторые сгенерированные файлы (из инструмента), которые затем включаются в файл wxs. Есть ли способ подражать этому?


person encee    schedule 20.12.2012    source источник
comment
ищу то же самое, но приходится вручную добавлять все файлы :(   -  person juFo    schedule 07.03.2017


Ответы (2)


Вам нужно указать каждый файл.

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

person saschabeaumont    schedule 20.12.2012
comment
Есть ли какая-либо документация о том, как создать типичный сценарий создания установщика с нуля? Мне очень нравится WiX, но документация настолько ... скудна, что выучить WiX практически невозможно. - person Christian Sauer; 20.12.2012
comment
@ChristianSauer Нет, не много! В основном это сочетание нескольких руководств и информации об установщике Windows. Тепло - это то, что вы хотите, вы можете поместить его в свой файл .wixproj в ‹PreBuildEvent›, вывести его в файл .wxs, и его следует забрать (если файл .wxs уже существует, поэтому сначала нарисуйте базовый и добавляем в проект). - person Daniel Morritt; 20.12.2012
comment
Разве тепло не создает компонент для каждого файла? В моем установщике их тысячи. - person encee; 20.12.2012
comment
@ royrules22 тысяч компонентов - правильное решение. Откройте, например, установщик Visual Studio в Orca :) - person saschabeaumont; 25.01.2013
comment
@ChristianSauer см. Мой ответ на stackoverflow.com/questions/923384/ - person saschabeaumont; 25.01.2013

Я удешевил решение и заархивировал каталог и его файлы в скрипте сборки. Преимущество вашего текущего метода заключается в том, что MSI знает о файлах, и они потенциально могут быть ключевыми файлами (и, следовательно, исправлены / обновлены и / или отремонтированы).

Я бы рассмотрел предложение Сашабомонта об использовании тепла. явно лучшее решение

person thekbb    schedule 20.12.2012