WiX автоматическое включение файлов
Есть ли способ включить файлы автоматически на основе структуры каталогов?
Я не хочу добавлять каждое имя файла с вкладкой Id файла.
Мой процесс сборки создает необходимую структуру каталогов:
ProductName
Directory1
Directory2
Directory3
Directory4
Как я могу добавить эти каталоги и их подкаталоги?
2 ответа
Нет, не автоматически Однако есть некоторые инструменты (называемые "tallow" для Wix "или" heat "для Wix3), которые будут сканировать каталог и создавать для вас фрагмент Wix (отдельный файл WiX *.wxs). Затем вы можете скомпилировать этот" список файлов ". wxs "файл (или как вы его называете) в вашей установке WiX.
См. Эту страницу для документации по нагреву WiX3, и на этом сайте также должен быть эквивалент WiX2 для сала.
Марк
Есть также Парафин от Джона Роббинса. У него есть несколько приятных особенностей:
Моя цель для PARAFFIN.EXE состояла в том, чтобы он немедленно создавал фрагменты WiX, которые можно было бы использовать, с минимальными усилиями с вашей стороны. Я хотел, чтобы PARAFFIN.EXE удовлетворял следующим требованиям для первоначального создания фрагмента.WXS для каталога:
- PARRAFIN.EXE создал уникальные значения для атрибута Id элементов Component, Directory и File, чтобы вам не приходилось беспокоиться о конфликтах между большими проектами.
- PARAFIN.EXE создает элемент ComponentGroup в выходном файле со всеми элементами Component в файле, автоматически указанными со значениями ComponentRef
- При желании вы можете исключить определенные расширения файлов из фрагмента.WXS.
- Вы можете по желанию исключить каталоги из включения, указав частичное имя
- При желании вы можете указать, хотите ли вы, чтобы значения GUID автоматически генерировались для всех компонентов.
- При желании вы можете указать несколько файлов на один компонент (по умолчанию один файл на компонент)
- При желании вы можете указать, что не хотите использовать каталоги, отличные от указанных
- При желании вы можете указать псевдоним для имени каталога при установке атрибута Элемент File - - Source, чтобы в выходном файле.WXS не было жестко закодированных дисков и имен каталогов.
После того как вы создали фрагмент.WXS с помощью PARAFFIN.EXE, вам не нужно редактировать фрагмент вручную, поэтому я хотел, чтобы PARAFFIN.EXE отвечал следующим требованиям для создания обновленного выходного файла из существующего фрагмента.WXS.:
- Обновленный вывод записывается в файл.PARAFFIN, поэтому исходный фрагмент.WXS не нарушается.
- Все параметры командной строки, указанные при создании исходного фрагмента.WXS, автоматически устанавливаются при обновлении файла, созданного PARAFFIN.EXE.
- Любые новые найденные каталоги и файлы автоматически добавляются в выходной файл.
- Все каталоги и файлы, которые больше не являются частью структуры каталогов, удаляются из выходного файла