【发布时间】:2009-06-05 09:31:19
【问题描述】:
我用 C# 编写了一个程序集,我需要从 VB6.0 应用程序调用 DLL 上的一个方法。
我使 DLL COM 兼容并相应地注册了 DLL。然后,我将在我的 VB 应用程序中使用 VB6.0 CreateObject 方法在 .NET 程序集中实例化该类。
Set dotNetObj = CreateObject("Namespace.ClassName")
然后我就可以调用该类的任何方法。
问题:
一切正常,直到我尝试在 Vista 机器上执行代码。每当我执行 exe 时,它都可以正常工作,但是每当使用“以管理员身份运行”选项执行 exe 时,都会出现以下错误:
"ActiveX 组件无法创建 对象。”
我需要这个 EXE 以管理员模式运行,否则旧系统的某些区域将无法工作。
关于为什么CreateObject 不能在管理员模式下工作的任何想法?
【问题讨论】:
-
我只需要在我的包和部署软件中将 InstallAllUsers 属性切换为 TRUE。
标签: c# .net vb6 windows-vista interop