I'm compiling a WiX installer and using Heat to harvest my files but I'm running into a problem where I have a directory I'm harvesting that contains 1 C# COM dll. I need to basically run regasm on this. I have the following in my wix project file to harvest the files:
<HeatDirectory OutputFile="%(ProjectReference.Filename).wxs"
Directory="..\ExactaMobilePublish\"
DirectoryRefId="INSTALLFOLDER"
ComponentGroupName="%(ProjectReference.Filename)"
SuppressUniqueIds="true"
SuppressCom="false"
SuppressFragments="true"
SuppressRegistry="false"
SuppressRootDirectory="true"
AutoGenerateGuids="false"
GenerateGuidsNow="true"
ToolPath="$(WixToolPath)"
PreprocessorVariable="var.BasePath" />
The problem I'm having is that while it is generating the necessary registry information for my C# COM dll it's also generating registry information for a bunch of other dlls in that folder that aren't exposed to COM.
Is there any way around this? Should I instead try harvesting that single C# COM dll into a separate wxs file?
Edit
I did try harvesting the single C# COM dll in a seperate WiX file in addition to the directory defined above but I got the expected error:
Error 5 Duplicate symbol 'Component:ExactaDatabaseAccess.dll' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique. C:\TFS\Covance\Dev\ExactaMobileCNA317\Installer\ExactaMobileInstaller\ExactaMobile.wxs 143 1 ExactaMobileInstaller
I could probably exclude this file from the directory above by using an xslt transform but this seems like overkill.