Com 从其他位置加载OCX组件

Com 从其他位置加载OCX组件,com,ocx,Com,Ocx,是否可以从不同于系统默认值的位置加载一个应用程序的OCX组件,而不使用regsvr32在System32目录中注销该组件?两个应用程序与OCX组件发生冲突。无注册激活可能会起作用 如果OCX文件是不同的版本,那么您应该能够同时注册这两个版本,但它们不太可能已经正确地进行了版本控制(或创建了正确的版本),因此COM对象的答案恐怕是否定的。欢迎使用DLL地狱。如果你有2个同名文件,即使它们在不同的位置,你仍然会遇到COM问题。你使用什么编程语言?C++在VS2005中,但是我们正在尝试解决已经编译的

是否可以从不同于系统默认值的位置加载一个应用程序的OCX组件,而不使用regsvr32在System32目录中注销该组件?两个应用程序与OCX组件发生冲突。

无注册激活可能会起作用


如果OCX文件是不同的版本,那么您应该能够同时注册这两个版本,但它们不太可能已经正确地进行了版本控制(或创建了正确的版本),因此COM对象的答案恐怕是否定的。

欢迎使用DLL地狱。如果你有2个同名文件,即使它们在不同的位置,你仍然会遇到COM问题。你使用什么编程语言?C++在VS2005中,但是我们正在尝试解决已经编译的应用程序的冲突。这个例子在VS2008和Windows 7中工作吗?我有一个嵌入式清单可以使用IDE工作,但是外部清单的例子对我不起作用。也许应用程序已经有嵌入式清单了?我不确定外部清单是否可以将方面添加到现有的嵌入式清单中(如无注册激活详细信息),通常无注册COM可以正常工作,但清单格式有点模糊。有一些工具可以帮助您生成清单。据我所知,是windows dll加载器本身被更改为允许这种隔离,我相信它只适用于XP及以上版本。它也只适用于进程内文件,如dll。应用程序虚拟化通常是处理此类不兼容性的更好方法,但显然需要您能够访问此类工具。