Using the right version of MSXML in Internet Explorer

I have previously written about the Microsoft XML parser (MSXML) and have had quite a lot of fustrations with it and was pleasantly surprised to find a post on the Microsoft XML Team’s WebLog on the subject. The post is called “Using the right version of MSXML in Internet Explorer” and provide details on the different versions of MSXML and which version to use where. The post even has an executive summary section which I recommend you skim though I’ll reproduce the most important 4 bullets for MSXML here:

  • Use MSXML 6.0 – it is “in the box” on Vista and available for download on Win2k, XP, and 2003. It has the best security, performance, reliability, and W3C conformance
  • MSXML 3.0 is our preferred “fallback” – It is installed on every OS from a fully patched Win2k SP4 installation on up, so it requires “zero-deployment” and is serviced regularly with the OS
  • MSXML 4.0 was released to the web about 5 years ago, but at this point has been superseded by MSXML 6.0 and is only intended to support legacy applications
  • MSXML 5.0 for Microsoft Office Applications is purpose-built for Office applications and isn’t intended for broad deployment. Internet Explorer 7 actually has the MSXML5 components “off-by-default” in the Internet zone so your customers will get a goldbar for each MSXML5 control on a page if your code tries to instantiate it. The best recommendation is to avoid MSXML5 in your web apps (only machines with Office 2003 or higher will have it, anyway.).

Skim it now or save the bookmark for when you need to deal with MSXML.