Click here to Skip to main content
15,886,799 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi guys,

I met an issue when I am trying to register the COM component, which is created by C#. Here is the scenario:
1.Create a strong name assembly using C# with two version, such as A.dll(1.0.0.0) and (2.0.0.0)
2.Since a COM client need to use these two .net assemblies, then I tried to register these two .net assembly as COM component using regasm.exe cmd tool
3.Install two version of A.dll into GAC

Issue:
when I finished the steps above and checked the registry, I found that the CLSID for A.dll would always be replaced by the later one. E.g. when registering A.dll(1.0.0.0) the CLSID is ***-***-***-***-**1. But when I register A.dll(2.0.0.0) the CLSID would be replaced by a different value, such as ***-***-***-***-**2.

In this case, when the COM client want to use the A.dll(1.0.0.0), it cannot find it because the CLSID is for A.dll(2.0.0.0) already.

If I want to keep both versions of same COM component, what do I need to do?Best Regards,
Ted
Posted
Comments
E.F. Nijboer 25-Jul-10 13:43pm    
Do you have "Remove previous version" checked?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900