I have been trying to determine a best case solution for registering a COM server using WiX to create a Windows Installer package and am struggling.
In this post Dep
As @Trampster pointed out, heat.exe does not do a good job of harvesting registry entries from COM servers. I tried but the results were incomplete.
Instead, following the advice at Monitor Registry Accesses (InstallSite Tools: Monitoring), I used InstallShield RegSpyUI. This supposedly ships with versions of Installshield v7 and beyond, including the evaluation version. This information may be out of date; I can confirm that it is not supplied with the pretty-much useless Installshield LE that comes with VS2013.
Luckily I did have a copy of InstallShield 2010 and this did come with RegSpyUI.
Anyway, RegSpyUI was a breeze to use: point it at the COM .exe, extract the registry info to a .reg file. Then use heat to harvest this into a .wxs file you can add to your Wix project
heat reg
Then it's just a matter of modifying any hard coded paths that point to the COM .exe's location so they reflect the intended installation folder.
e.g. if the .wxs file created by RegSpyUI+heat has something like this
and you are installing in your main wix file to
then simply edit the RegistryValue@value path to ..."[MYPRODUCT]\COMFOO.exe"