stdole2.tlb is a newer version of stdole32.tlb . This can be seen from the IDL export using OleView:
From stdole2.tlb :
// typelib filename: stdole2.tlb [ uuid(00020430-0000-0000-C000-000000000046), version(2.0), helpstring("OLE Automation") ] library stdole { ...
From stdole32.tlb :
// typelib filename: stdole32.tlb [ uuid(00020430-0000-0000-C000-000000000046), version(1.0), helpstring("OLE Automation") ] library stdole { ...
This is confirmed by the fact that they both have the same uuid , but stdole2 has a later version attribute.
Also, if you are comparing IDLs for both of them, you can see how the new differs from the first. It basically adds some attributes to several interfaces, and also adds a bunch of new typedefs, interfaces, etc. (Too much time to add here and no need to answer the question).
Curiously, unlike a DLL, there are no file attributes (the Details tab in the Properties view in Windows Explorer) with version or other information.
source share