OLE is build on top of COM. OLE was built over COM for years, while COM as a technology was presented by Microsoft a few years ago.

COM is a specification, while OLE is a particular implementation of this specification, which in today’s world is not exactly true as well, because what people call COM today is likely implementation of COM spec by Microsoft.

Formal definitions from MSDN:

OLE is a mechanism that allows users to create and edit documents containing items or "objects" created by multiple applications.

The Component Object Model (COM) is a platform-independent, distributed, object-oriented system for creating binary software components that can interact.

Answers and Comments