My first thought - no need !!! If you can stay away from COM / DCOM.
Of course, if you need to integrate with legacy applications, you won't have a choice, but even then use COM only for cross-managed / unmanaged borders.
If legacy compatibility is not a problem, stay in control. .NET has everything COM can offer, and then some. And the complexity and stability of .NET code cannot be compared with equivalent COM code.
I have been working with Visual Studio Integration for some time. It was originally all COM, but MS is slowly converting various parts of it to manageable ones. The new editor structure, based on MEF, reduces the amount of code needed by orders of magnitude. And do not mess with the registry. Such a relief.
source share