I have an ATL COM project that creates a type library called Grouper. I have compiled this C++ ATL COM project and VS2013 automatically registers the library. Great. I then add a reference to this COM library in a C# WinForms application via 'Add Reference' > 'COM'. I can then use the library and with Native Code Debugging enable I can step into the source of the COM library.
Now, the problem. I need to provide this COM library to another developer with EXACTLY the same machine, OS and setup. I have provided both the solutions for the C++ ATL COM component and the C# WinForms application. I have ensured that VS2013 settings are identical. Now, on this second machine (Machine B) I compile the ATL COM library and I use OLE-COM Object Viewer and can see that the COM library has been registered and has the identical uuid to that on Machine A. I add a refernece to the COM library in the C# application on Machine B in exactly the same way as I did for Machine A. The types in reference COM library are resolved and the code compiles. However, now at run-time I am getting
Retrieving the COM class factory for component with CLSID {A8E419AE-D60D-4FE5-95C0-
I can see that this class is indeed registered using OLE-COM Object Viewer. So, why am I getting this error when the setups and environments are exactly the same?
Thanks for your time.
"Everything should be made as simple as possible, but not simpler" - Einstein