我有一个旧版 VB6 应用程序,它调用用 C#(针对 .NET Framework v2)编写的 COM+ 组件以进行 TCP/IP 通信。
这种操作模式已在各种操作系统上工作,并已成功部署到 Windows XP、Vista 和 7 环境中。
我刚刚开始在 Windows 8.1 中测试该软件,当 VB6 应用程序尝试调用 COM+ 组件时,它会报告“自动化错误”。过去这类错误都是由于 COM+ 注册失败,通过使用regsvcs.exe
.
该软件由 MSI 安装,它还运行一个脚本,该脚本调用 regsvcs.exe 来注册 COM+ 组件。对于 Win 8.1,我必须更改regsvcs.exe
from 的路径:
C:\Windows\Microsoft.NET\Framework\v2.0.50727
至:
C:\Windows\Microsoft.NET\Framework\v4.0.30319
我在 Win 7 和 Win 8.1 上测试了这个安装程序。在 Win 7 上,COM+ 调用工作正常。我在 Win 8.1 中遇到的问题是 COM+ 组件似乎已正确注册,但是对该组件的调用仍然失败。组件服务中的一切看起来都很好,并且在进行 VB6 调用时 COM+ 应用程序启动,但返回自动化错误并且调用失败。
注意:我正在测试的 Win 7 和 8.1 环境是 64 位的。
在 Windows 7 和 Windows 8.1 之间,与组件服务和 COM+ 应用程序相关的内容似乎发生了变化,但我似乎找不到解决方案。
有没有人经历过类似的事情或关于问题可能是什么的任何指示?