Com dll update
When updating the COM dll, we should not change the old interfaces, that is, the IID (basic COM rule) so that it does not break clients that use the old interfaces.
This way, there is no need to remove old COM DLLs, just register a new DLL. After registering the new dll, since the old interface uses the same IID, it will not break clients that use the old interface.
source to share
Well, assuming you are writing your COM server using VB6 (a common case a couple of years before), you need to set it to binary compatible so that VB keeps the same GUIDs for that component.
Since objects for classes in DLLs most of the time are created using a factory class embedded in the same DLL, if the GUIDs do not match those that the factory class knows about it, they cannot create objects for the old GUIDs, even if there is no change in there were no interfaces.
This was part of DLL Hell, remember?
source to share
If you know that all client platforms are running Windows XP or later, you might want to consider using Registration Free COM and thus avoid the whole problem.
See my answer to "How do I register COM libraries at runtime?" For details. ... The article Automatically Activating COM Components: A Step-by-Step Guide on MSDN has a complete description of what to do.
source to share