The Heat file harvester uses a nested try/catch block (in UtilHarvesterMutator.cs) in order to attempt to harvest regasm information, then self-registration information, then type library registration information one after the other. In the case that exceptions are thrown, Heat ignores them and proceeds with harvesting.
This logic leads to cases where harvesting errors are encountered but the calling application has no idea that there is anything wrong or that their harvested output is incorrect/incomplete.
As an example, take a look at 2 bugs about the same scenario - one in Heat and one in Tallow (the equivalent tool in WiX v2.0):
http://sourceforge.net/tracker/index.php?func=detail&aid=1687206&group_id=105970&atid=642714
http://sourceforge.net/tracker/index.php?func=detail&aid=1687207&group_id=105970&atid=642714
In the Heat case, no errors are reported and the harvesting appears to be successful. In the Tallow case, a call stack is displayed so the user knows that something incorrect happened during harvesting.
We should consider changing this design to report error information to the user so they'll be able to realize that the harvesting is incomplete.
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).