Quote Originally Posted by dilettante
Standard DLLs don't of course. But a COM DLL has to be or your program has no other source for the interface information it needs.

I've tested this and it does register the stuff if it isn't already registered on the machine. You can see this by using RegMon on first run on a clean system, or simply by doing a Find in RegEdit after the first run. Search for your library's full pathname or any of its progId or classId values.
My program has DLLs referencing other DLLs, so perhaps the executable doesn't add references to the indirectly referenced DLLs.