2010-04-15 114 views
1

我有一个本机应用程序,它需要注册一个.OCX文件才能在.NET应用程序中使用它。COM OCX注册 - 2个具有相同名称的DLL

现在在机器上有这个.OCX的不同版本。有人可以解释这是如何影响这个新的(更新的).OCX文件注册的注册?

我的.NET应用程序如何知道从哪个.OCX文件创建哪个对象?

+1

查看ProgID。 http://blogs.msdn.com/larryosterman/archive/2006/01/10/511279.aspx – 2010-04-15 19:28:37

回答

0

我相信COM类注册包括提供COM组件的“服务器”的整个路径。如果两个版本的.OCX具有不同的类GUID,那么应该没有问题。

2

COM服务器需要需要更改他们的CLSID guid,如果他们的接口不再兼容。因此,如果您的供应商做得对,您应该能够注册他们两个,并在项目中使用正确的参考时获得正确的一个。

像任何规则一样,这个人经常遭到侵犯,可能是你首先提出这个问题的原因。备份计划是使用无注册表的COM,您可以编写一个清单并将其添加到您的程序中,以便它始终使用COM服务器DLL的本地副本,而不是已注册的副本。了解如何通过使用“regfree COM”进行搜索,我在顶部看到许多相关且有用的匹配。