我有两个具有不同GUID
值但名称相同的COM对象。一个是另一个的较新版本。当我同时使用进行注册时会发生什么Name.exe /regserver
?我查看了注册表,它们都显示为相同ProgID
,但它们各自的GUID
值不同。他们指向硬盘驱动器上的单独位置。这有问题吗?
我正在尝试使项目的旧版本与项目的新版本一起工作(但不能同时运行),并且我认为这两件事是相互矛盾的。
COM对象是在VB6中创建的。使用它们的代码是C#。它们被添加到其各自的C#项目中作为参考。注册一个后,我将无法编译另一个(也无法成功运行)。
在调查此问题时,还有哪些其他信息会有所帮助?
将我的评论转换为答案:
您已经创建了新版本的组件,该版本与旧版本不向后兼容。
您确实应该更改,ProgID
以表明这实际上是一个新组件。客户端应用必须明确地针对新组件或旧组件。人们通常只是在版本后面附加一个版本号(例如2
)ProgId
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句