Assemblies
COM and .NET both support assemblies, to decentralize configuration and allow for side-by-side installation of different versions of the same program. The concept is the same, but the implementation is different.
An assembly has a manifest, which describes what components make up the assembly and their versions.