正如@Trampster指出的那样,heat.exe在从COM服务器中收集注册表项方面做得不好 . 我试过但结果不完整 .
相反,按照Monitor Registry Accesses (InstallSite Tools: Monitoring)的建议,我使用了InstallShield RegSpyUI . 据说这个版本包含Installshield v7及更高版本,包括评估版本 . 此信息可能已过期;我可以确认它是 not 提供VS2013附带的非常无用的Installshield LE .
幸运的是,我确实拥有了InstallShield 2010的副本,这确实与RegSpyUI一起提供 .
无论如何,使用RegSpyUI是轻而易举的:将它指向COM .exe,将注册表信息提取到.reg文件 . 然后使用heat将其收集到一个.wxs文件中,您可以将其添加到Wix项目中
heat reg -gg -o
然后,只需修改指向COM .exe位置的任何硬编码路径,以便它们反映预期的安装文件夹 .
例如如果由RegSpyUI加热创建的.wxs文件有这样的东西
并且您正在主wix文件中安装到
然后只需将RegistryValue @ value路径编辑为...“ [MYPRODUCT]\COMFOO.exe ”