By managing storage and gating access to system resources, the CLR makes applications safer. A managed application can't access memory that doesn't belong to it, and it can't manipulate objects that have already been released. This catches most software failures before they can harm other programs or the operating system. Data transmitted via the network from one managed application to another arrives intact and immediately ready to use. The .Net object model is completely transparent.
Programmers define objects using their chosen language's native methods.
The CLR automatically registers and publishes these objects for use by other local and remote applications. COM requires manual object registration and data conversion, and remote object access is tricky at best. Once managed Windows applications become the norm, the barriers to Windows' enterprise use may finally come down.