WiX properties RefProjectOutputGroups RefTargetDir

3.5k Views Asked by At

When referencing projects within WiX projects (*.wixproj) I often saw the code snippet

<ItemGroup>
  <ProjectReference Include="..\Foo.Bar\Foo.Bar.csproj">
    <Name>Foo.Bar</Name>
    <Project>{0bd367ce-5072-4161-8447-ff4deed97bd4}</Project>
    <Private>True</Private>
    <DoNotHarvest>True</DoNotHarvest>
    <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
    <RefTargetDir>INSTALLLOCATION</RefTargetDir>
  </ProjectReference>
</ItemGroup>

Can anyone explain to me what the properties DoNotHarvest, RefProjectOutputGroups, and RefTargetDir mean? Or point to some documentation? I couldn't find anything explaining the meaning of these properties (including the WiX documentation).

1

There are 1 best solutions below

3
On BEST ANSWER

Those are disabled features for automatic reference project harvesting. The feature is disabled because it was found to have many bugs.

  • When you change DoNotHarvest to false (double negatives are fun) the feature will sort of turn back on (but other things will be broken).
  • RefProjectOutputGroups lists the project outputs from the referenced project to include in a generated ComponentGroup.
  • RefTargetDir specifies the Directory that is used for all the generated Components.

As noted above, it's not documented because the feature does not currently work.