为了在安装期间模拟“regasm file.dll /codebase”执行,我们在要添加到注册表的 file.dll 上运行 Heat.exe。然后我们将生成的内容添加到我们的 installer.wxs 文件中,一切正常。
我们想自动化这个过程,这样我们就不必在每次 .dll 文件更改时手动运行 Heat.exe。相反,每次我们构建 Wix 项目时都会执行该调用。
我们该怎么做?一个代码示例将不胜感激。
谢谢,马克西姆
你确定你甚至需要这样做吗?我们的安装程序中有一堆 ComVisible(true) 程序集,我们做了一次 Heat 并且再也不需要再做一次。以前我们使用 InstallShield,它有一个 .NET Com Interop 设置,在构建时执行类似的步骤,这是我们的迁移要求之一,以确保我们只在切换到 WiX 时才可以这样做 1 次。
在 DLL 和 TLB 上使用热量来生成 DLL.WXI 和 TLB.WXI 文件。
然后在你的 WXS 文件中使用类似的东西来包含由 heat 生成的 XML。
<?include DLL.wxi ?>
<?include TLB.wxi ?>