Hi,
I have spent some time to investigate the mixed-mode msvcrt issue.
There are three different runtime DLLs: msvcm80/90.dll managed C++ runtime implemented using native code msvcp80/90.dll C++ runtime msvcr80/90.dll C runtime
The managed version does only have it's own functionaly while even managed executables created with MS VC++ import the usual C/C++ runtime functionality from msvcp80/90.dll and msvcr80/90.dll files.
So there is no need to duplicate C runtime functionality in msvcm80/90.dll.
msvcm80/90.dll files are part of MS VC++ redistributable files just as the other runtime files are so I think there is no need to duplicate this functionality because the original MS versions are redistributable with the applications.
I also have read the EULAs of MS VC++ 2005 and 2008 redistributables and none of the forbids the use on non-Microsoft operating systems: http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-... http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-...
Kornél