
Originally Posted by
Elroy
... but there's also got to be something in the registry about how a new VB6 IDE project is going to "get" those TypeLibs. In other words, what file is your VB6 IDE project going to "point at" to indicate that it wants to use them.
I believe a registry key similar to the following holds the path to the type library file/resource:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\1.0\0\win32
The UUID in that registry key is the UUID of the type library (it can be obtained via a TLB viewer such as OleView.exe).

Originally Posted by
Elroy
- However, once the test.tlb is registered, it doesn't seem to matter whether test.dll is deleted or not.
When the standalone TLB file was registered, the above registry key was updated and it now points to the TLB file instead of the ActiveX DLL which has an embedded copy of the TLB file. The registry still has entries for the ActiveX DLL though, such as this one:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\InprocServer32
The UUID here is the UUID of one of the coclasses in the type library. Unceremoniously deleting the ActiveX DLL is therefore not really advisable because registry entries like the above will be orphaned.