Я плохо знаком с 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, и поэтому я не уверен, должен ли я отметить решение или нет. Если кто-то чувствует, что один из ответов ниже ЯВЛЯЕТСЯ ответом на мой now-rather-old вопрос, сообщите мне, и я отмечу соответствующий ответ как таковой.