WiX自动文件包含

时间:2009-10-17 17:28:19

标签: wix paraffin

有没有办法根据目录结构自动包含文件?

我不想用文件ID标签添加每个文件名。

我的构建过程创建了所需的目录结构:

ProductName
           Directory1
           Directory2
           Directory3
           Directory4

如何添加这些目录及其子目录?

2 个答案:

答案 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。

马克