两个COM DLL,具有不同的GUID、AppID和TypeLib,但名称相同

两个COM DLL,具有不同的GUID、AppID和TypeLib,但名称相同,dll,com,guid,rgs,Dll,Com,Guid,Rgs,我有两个COM DLL,它们的名称和.rgs文件中的条目相同,但GUID除外(即.CLSID、APPID和TypeLibID)。idl文件也包含不同的GUID。 这两个组件可以共存吗?我有一个应用程序A,它使用一个COM组件,另一个使用第二个COM组件。两个应用程序都可以调用各自的COM组件吗?只要它们的安装程序不覆盖彼此的可执行文件,就可以。类和接口名称无关紧要,只使用GUID。这样更改GUI就是当作者更改其代码时需要。rgs文件中的ProgID是否需要不同?通常有两个,一个是版本特定的,如F

我有两个COM DLL,它们的名称和.rgs文件中的条目相同,但GUID除外(即.CLSID、APPID和TypeLibID)。idl文件也包含不同的GUID。
这两个组件可以共存吗?我有一个应用程序A,它使用一个COM组件,另一个使用第二个COM组件。两个应用程序都可以调用各自的COM组件吗?

只要它们的安装程序不覆盖彼此的可执行文件,就可以。类和接口名称无关紧要,只使用GUID。这样更改GUI就是当作者更改其代码时需要。rgs文件中的ProgID是否需要不同?通常有两个,一个是版本特定的,如Foo.Bar.2,另一个是默认的,如引用最新版本的Foo.Bar。并非每个人都使用此方案。ProgID通常仅由使用后期绑定的代码使用,因此版本控制会发生意外死亡并不那么致命。