I frequently come across Windows programs that bundle in MSVCRT (or their more current equivalents) with the program executables. On a typical PC, I would find many copies of the same .DLL's. My understanding is that MSVCRT is the C runtime library, somewhat analogous to glibc/libc.so under *nix.
Why do Windows programs have to bring along their C libraries with them, instead of just sharing the system-wide libc?
Update: thanks to Shog9, I started to read about SxS, which has further opened up my eyes to the DLL linkage issues (DLL Hell) - http://blogs.gotdotnet.com/martynl/archive/2005/10/13/480880.aspx is one useful intro to the issue...