我正在创建一个安装程序,它将为我们的 Access 应用程序使用 .NET COM 组件。当我将 COM dll 安装到 INSTALLDIR 时,它工作正常。我把它留给 WIX 通过运行 heat 来获取 dll 和 tlb 来进行 COM 注册。但是现在我们想将dll安装到GAC,而INSTALLDIR中只会安装tlb文件。我们的目标是我们的不同版本的软件(可以安装在同一台机器上)可以使用相同的COM版本,卸载一个版本的软件后,其他版本的软件仍然可以使用(我们无法实现)将dll安装到INSTALLDIR中,对吗?如果我的方法不对,请纠正我)。
问题来了:为了将它安装到 GAC 中,我想我应该在 dll 文件声明中添加一个 Assembly=".net" 。但是,在安装过程中,我收到此错误:“错误处理程序中遇到问题:自动化错误系统找不到指定的文件。” 当我在提交阶段调用一个 COM 方法(我们创建的访问引用)时,即在 COM 注册之后。显然我的 COM 没有成功注册。但我真的不知道为什么会这样。正如我所提到的,我所做的唯一更改是添加了这个 Assembly=".net"。在此之前,COM注册是OK的,我调用成功了。
任何帮助,将不胜感激。谢谢!