COM 注册的 DLL 不使用 MSI 安装程序 generate/register 类型库

COM-registered DLL doesn't generate/register type library with MSI installer

我在 VS2017 中使用 C# 编写了一个 DLL,我试图使用 VS 安装程序正确地进行 COM 注册,但无法让安装程序generate/register *.tlb 文件(其中,如果我理解正确的话,安装程序应该可以。

我认为我这样做至少部分正确,因为我可以看到对 ProgId 的注册表引用 - 我将 DLL 设置为向 vsdrpCOM 注册,它有一个明确实现的接口,public 默认构造函数等,但还没有成功。

我已经能够用 regasm.exe 做到这一点,但在目标机器上不可用。同样,由于有多个目标计算机,我希望它作为安装的一部分自动发生。

我在设置安装程序时是否遗漏了什么?有没有更简单的不同方法?

这应该有所帮助,它很旧但仍然是这样做的方法:

https://www.simple-talk.com/dotnet/visual-studio/build-and-deploy-a-net-com-assembly/

然后跳到部署。基本上您需要创建一个 TLB 文件,并将其添加到带有 vsdrxCOM 注册的安装中。