If you have a project output with a dash in it will generate an invalid identifier in the output WXS file.
e.g. If you have an output from a project named Project of output-file.jpg and you run heat against this project. You will get the following error when you try and compile the WXS file:
error CNDL0014: The Component/@Id attribute's value, 'Project.Content.output-file.jpg', is not a legal identifier. Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore.
Which version of WiX are you using?
I'm using 3.0.4526.0
The bug still exists in VSProjectHarvester; it currently only guards against spaces in file names turned into IDs.
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 21 days (the time period specified by
the administrator of this Tracker).