views:

116

answers:

3

My project, which used to build fine with WiX 3.0, now fails with

heat.exe : error HEAT5301: Invalid project output group: Binaries3bSources3bSatellites%3bDocuments.

I found this ProjectOutputGroup in the wix.targets file but it looks like this:

<CreateItem 
  Include="@(_MSBuildProjectReferenceExistent)" 
  Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' " 
  AdditionalMetadata="ProjectOutputGroups=Binaries%3BSymbols%3BSources%3BContent%3BSatellites%3BDocuments;GenerateType=payloadgroup;HeatOutput=$(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs">
  <!-- ... -->
</CreateItem>

It looks like the % is being discarded for the first 2 values, but is still present for the last one.

A: 

First try upgrading to the latest build. WiX v3.5 is under development so the issue might have been fixed. If not, be sure there is a bug open on the issue so the community knows about the problem. Finally, you can try debugging the HeatTask to see where it is going awry.

Rob Mensching
problem still persists with the latest weekly build. is there something I'm doing to cause this error? Can "HarvestProjects" be disabled, that looks like the target it is failing in
Ryan Conrad
I have "worked around" this issue, by adding a <DoNotHarvest>True</DoNotHarvest> to my Custom Action project reference that is in my build script. thanks, you got me looking in the right direction, although I still dont know what actually caused the error
Ryan Conrad
A: 

That did not work for me, instead, I had to edit the wix.targets file to remove the extra directories for the Harvest... Fortunately, I am not currently using HEAT. After I made that change, I was able to build again on our build server.

Interestingly, this did not see to affect building from within Visual Studio on our desktop computers.

John Bergman
A: 

We were getting the same error in one of our WiX projects (under Visual Studio 2008 solution) that was upgraded from WiX 3.0 to WiX 3.5.x. Also the problem only happened on the TFS 2010 build server. Desktop build with Visual Studio was fine.

Our WiX setup project is in the same solution with a bunch of C# class libraries - it's basically a library installer. The WiX project has project reference for each of the C# libraries and we use "$(var.MyLibrary1.TargetDir)\MyLibrary.dll" syntax to refer to the files in our WiX scripts.

DoNotHarvest didn't fix the problem for us.

We got around the problem by removing and then re-adding all the C# library references from the WiX setup project.

Sharad Patel