It is important here to understand the difference between compilation time and COM component runtime. Reg-free COM is just a runtime function. The selected manifest describing the COM interface is a non-registration part. You do not need to register the COM component in the registry. Instead, you send the registration information to a file. This means that you do not need an installer. It also means that you are isolated from registration problems. Better known as DLL Hell.
The keys in the registry or the entries in the manifest are important to help COM figure out which DLL to load when the COM client asks it to create an instance of the COM object.
This is very different from compilation time. The type library is very useful to tell the compiler if you wrote the correct code correctly. Does the COM component really have an IFoo interface? Does the IFoo interface really have a Mumble () method that takes two arguments? The type library tells the compiler what the interface looks like, and allows the compiler to do a static check of the code you wrote. Differs from βlate bindingβ btw, an option that allows you to write client COM code without a type library (and thus without type checking). Normal in scripting languages.
I repeat: without registering COM, itβs just about installing, not writing code.
source share