Я новичок в WiX. Очень новое. Есть ли способ одновременно определить как ComponentGroup, так и Directory?
У меня есть большое количество файлов размером порядка 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, и поэтому я не уверен, что я должен отметить решение или нет. Если кто-то почувствует, что один из ответов ниже - ответ на мой довольно старый вопрос, пожалуйста, дайте мне знать, и я помечаю соответствующий ответ как таковой.