Я новичок в WiX. Очень новый Есть ли способ определить и ComponentGroup и Каталог одновременно?
У меня есть большое количество файлов, порядка 300 или около того, которые нужно разбить на несколько групп, каждая из которых имеет около 50 файлов.
Используя heat.exe, я смог создать фрагмент, который создает компоненты для каждого файла. Я хотел бы избежать повторного перечисления каждого из этих компонентов в отдельном определении ComponentGroup. Я хотел бы иметь возможность обернуть список компонентов, сгенерированных высокой температурой, в определение ComponentGroup, а затем просто использовать этот ComponentGroupRef внутри структуры DirectoryRef.
Надеюсь, это прояснит ситуацию. В настоящее время я должен сделать:
<DirectoryRef Id="FilesDir">
<Component Id="a.txt" Guid="YOUR-GUID">
<File Id="a.txt" KeyPath="yes" Source="SourceDir\a.txt" />
</Component>
<Component Id="b.txt" Guid="YOUR-GUID">
<File Id="b.txt" KeyPath="yes" Source="SourceDir\b.txt" />
</Component>
...
<Component Id="z.txt" Guid="YOUR-GUID">
<File Id="z.txt" KeyPath="yes" Source="SourceDir\z.txt" />
</Component>
</DirectoryRef>
<ComponentGroup Id="FilesGroup">
<ComponentRef Id="a.txt">
<ComponentRef Id="b.txt">
...
<ComponentRef Id="z.txt">
</ComponentGroup>
Я должен перечислить каждый файл дважды. Разит.
Я бы хотел иметь возможность:
<ComponentGroup Id="FilesGroup">
<Component Id="a.txt" Guid="YOUR-GUID">
<File Id="a.txt" KeyPath="yes" Source="SourceDir\a.txt" />
</Component>
<Component Id="b.txt" Guid="YOUR-GUID">
<File Id="b.txt" KeyPath="yes" Source="SourceDir\b.txt" />
</Component>
...
<Component Id="z.txt" Guid="YOUR-GUID">
<File Id="z.txt" KeyPath="yes" Source="SourceDir\z.txt" />
</Component>
</ComponentGroup>
<DirectoryRef Id="FilesDir">
<ComponentGroupRef Id="FilesGroup">
</DirectoryRef>
Это возможно? Есть ли какой-то другой способ сделать это проще, чего я просто не вижу?
Обновление: мы отказались от Wix, и поэтому я не уверен, стоит ли мне отмечать решение или нет. Если кто-то посчитает, что один из ответов ниже является ответом на мой довольно старый вопрос, пожалуйста, дайте мне знать, и я отмечу соответствующий ответ как таковой.