14

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).

Aeon512
  • 175
  • 1
  • 8

1 Answers1

9

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.

Rob Mensching
  • 33,834
  • 5
  • 90
  • 130
  • Does this mean that it's actually enough to include a `DoNotHarvest` set to `false` and don't mention the other two properties at all? Or does/can this break anything now/in the future? – Aeon512 Mar 22 '13 at 20:16
  • The feature is disabled and if/when it comes back it'll be built to handle all the cases of the data missing/etc. So, for now I'd say you can ignore it all. – Rob Mensching Mar 22 '13 at 21:01
  • 6
    Is it still broken? – letmaik May 23 '17 at 07:49