使用HeatDirectory从wix中的多个目录中获取文件

时间:2013-05-03 09:51:29

标签: c# visual-studio-2010 wix installation heat

到目前为止,我这样做是为了从单个目录中收集文件:

<HeatDirectory DirectoryRefId="INSTALLFOLDER" OutputFile="references.wxs" 
  Directory="../MyProject/reference1" ComponentGroupName="ref1" 
  ToolPath="$(WixToolPath)" PreprocessorVariable="var.ref1" 
  AutogenerateGuids="true">
</HeatDirectory>

如何使用HeatDirectory将多个目录中的文件收集到一个.wxs文件中,如下所示:

<HeatDirectory OutputFile="references.wxs" 
  Directory="directory1_Path|Directory2_Path|...." ComponentGroupName="ref1" 
  ToolPath="$(WixToolPath)" AutogenerateGuids="true">
</HeatDirectory>

是否有某种方法可以实现,或者我需要在wixproject文件中包含多个HeatDirectory元素?

2 个答案:

答案 0 :(得分:5)

HeatDirectory(顾名思义)一次只收获一个目录(以及它的子目录)。要获得两个目录根,您需要两个HeatDirectory元素。您还需要输出两个不同的.wxs文件,否则一个收获操作将覆盖另一个输出文件。

答案 1 :(得分:0)

请参阅@Farrukh Waheed评论,您可以执行以下操作:

  <ItemGroup>
    <HarvestDirectory Include="../Project1">
      <DirectoryRefId>Ref1</DirectoryRefId>
      <ComponentGroupName>Component1</ComponentGroupName>
    </HarvestDirectory>
    <HarvestDirectory Include="../Project2">
      <DirectoryRefId>Ref2</DirectoryRefId>
      <ComponentGroupName>Compoenent2</ComponentGroupName>
    </HarvestDirectory>
  </ItemGroup>