有没有办法根据目录结构自动包含文件?
我不想用文件ID标签添加每个文件名。
我的构建过程创建了所需的目录结构:
ProductName
Directory1
Directory2
Directory3
Directory4
如何添加这些目录及其子目录?
答案 0 :(得分:16)
Paraffin还有John Robbins。它有一些很好的功能:
我对PARAFFIN.EXE的目标是,它会立即构建可消耗的WiX片段,而您最不用担心。我希望PARAFFIN.EXE满足最初为目录创建.WXS片段的以下要求:
- PARRAFIN.EXE为Component,Directory和File元素Id属性创建了唯一值,因此您不必担心大型项目之间的冲突
- PARAFIN.EXE在输出文件中创建一个ComponentGroup元素,文件中的所有Component元素都自动使用ComponentRef值指定
- 您可以选择将特定文件扩展名排除在添加到.WXS片段
之外- 您可以选择通过指定部分名称
从包含中排除目录- 您可以选择指定是否要为所有组件自动生成GUID值
- 您可以选择为每个组件指定多个文件(默认为每个组件一个文件)
- 您可以选择指定您不想递归指定目录以外的目录
- 您可以选择在设置File元素 - - Source属性时为目录名指定别名,以便在输出.WXS文件中没有硬编码的驱动器和目录名称
使用PARAFFIN.EXE创建.WXS片段后,您不希望手动编辑片段,因此我希望PARAFFIN.EXE满足以下要求,即从现有文件创建更新的输出文件.WXS片段:
- 更新后的输出将写入.PARAFFIN文件,因此原始.WXS片段不会受到干扰
- 更新由PARAFFIN.EXE创建的文件时,会自动设置创建初始.WXS片段时指定的所有命令行选项
- 找到的所有新目录和文件都会自动添加到输出文件
- 从输出文件中删除不再属于目录结构的任何目录和文件
答案 1 :(得分:6)
不,不是自动的。然而,有一些工具(对Wix3称为“tallow”或Wix3为“heat”),它将扫描目录并为您创建一个Wix片段(一个单独的WiX * .wxs文件)。然后您可以编译该文件列表。 wxs将文件(或任何你称之为的文件)放入WiX安装中。
有关WiX3 heat documentation的信息,请参阅此页面,并且该网站上也应该有一个类似于牛脂的WiX2。
马克