Thursday, October 30, 2014

The history of the MS C runtime DLL

In the earliest days, there was the Win32 SDK shipped with the NT betas and the final release of NT 3.1. The CRT DLL was called CRTDLL.DLL.

Visual C++ 1.0 for NT shipped around the time of NT 3.1 release, and it used MSVCRT10.DLL. This was followed by MSVCRT20.DLL (for 2.x) and MSVCRT40.DLL (for 4.0).

Visual C++ 4.2 introduced the now famous MSVCRT.DLL, which was also used by 5.0 and 6.0. The 6.0 MSVCRT had a new heap allocator that exposed bugs in existing apps, forcing MS to issue the Microsoft Libraries Update.

As a result, starting with Win2000 the MSVCRT.DLL was now part of Windows. Future versions of Visual C++ used MSVCR70.DLL etc. For 7.x the DLLs was supposed to go into the application directory. 8.0 and 9.0 used SxS (with the exception of Win2000 and older where it was supposed to be placed in System32, if I remembered correctly). 10.0 abandoned SxS and always used System32, This is also true for 11.0 and 12.0.

14.0 will split the CRT into two parts, one is the version specific vcruntime140.dll etc, and the other is the non version specific backward compatible appcrt.dll and desktopcrt.dll. See MS's blog article for more details.

Tuesday, August 19, 2014

My wishlist for Satya

I originally posted this as a comment on the blog, but I think it is important enough that I posted it here too.
"I agree, but I do have several items on my wishlist for Satya, including ending the Yahoo-Bing and the MS-Novell deal, ending the Android patent attacks, putting an end to the SCO lawsuit,"
"For example, the MS-Novell deal is so bad that FSF put a provision in GPLv3 against it. I don’t know how much power MS has right now to end the SCO lawsuit, but it was quite famous. So is the FAT/exFAT patents and how it has been used to attack Android and other things that uses them (I am thinking that existing patents should go to the public domain and any remaining exFAT patent applications withdrawn from USPTO if possible)."
If you don't remember, the patent part of the Microsoft-Novell deal was discriminatory, which means that it was limited to specific customers. The point of free software, including licenses like the GPL, is that it allows free distribution of software without any royalty based patent licensing requirements. This is why the GPLv3 had a provision against it. Another problem is the $100 million worth of vouchers, to get customers to buy SUSE. Why should MS help a competitor like this? This deal was renewed in 2011 for four years, and it still have the same problems. Since then Novell has abandoned Mono, making the deal less valuable for MS than it was before.
Also, the FAT patents are not the only patents MS used to attack Android, and ChromeOS is also attacked using similar patents. Most of these patent attacks are based on FUD.
"And I forgot to mention OOXML. I just realized that Office for Windows don’t use the “Open XML” term that much inside the software. I am thinking of a proposal where the standard would be withdrawn from ISO, the “Office Open XML” term would be depreciated, and the “Strict Open XML” option would be removed (I doubt it is catching on). Note this don’t change the file format itself in anyway, the contents of the ISO standard would be merged with MS-DOCX/XLSX/PPTX."