And what's wrong with importing lots of structures, if unused typedefs aren't stored in the type library?
The main problem is that the typelibs import all kinds of stuff. Stdole2.tlb imports declarations from guiddef.h, oaidl.idl, unknwn.idl, ocidl.idl, olectl.h, plus some functions and interfaces that are not in any other file.
Also, the IFont interface has been slightly modified in the type lib which might break an app if it were to use our ocidl.idl version of it.
Huh? How that?
Is there any point in cluttering our typelib?
In my opinion our typelib should at least contain all of the stdole2/32.tlb stuff.
If there are some more entries, it does not really matter I guess.
Where should I put such a file?
I'd go for dlls/oleaut32. Standard ole32 has no need for typelibs, they're a feature of oleaut32.
I'll wait a bit longer for opinions from a few more people, although your logic about type libs being an oleaut32 feature seems right to me.
Go ahead with what you consider best.
My acceptance criteria would be basically 'InstallShield v6 still works' ;)
Ciao, Marcus