【发布时间】:2011-01-09 07:52:08
【问题描述】:
我是 WiX 的新手。很新。有没有办法同时定义 ComponentGroup 和 Directory?
我有大量文件,总共大约 300 个左右,需要分成多个组,每个组大约有 50 个文件。
使用 heat.exe,我能够创建一个片段,为每个文件创建组件。我想避免在单独的 ComponentGroup 定义中重新列出这些组件中的每一个。我希望能够将热量生成的组件列表包装在 ComponentGroup 定义中,然后只需在 DirectoryRef 结构中使用该 ComponentGroupRef。
我希望这可以解决问题。我目前必须这样做:
<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,因此我不确定是否应该标记解决方案。如果有人觉得下面的答案之一是我现在相当老的问题的答案,请告诉我,我会这样标记适当的答案。
【问题讨论】:
标签: wix