Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What became of MSXML 4.0?

Tags:

xml

msxml

msxml6

i have a dependancy on MSXML 4.0.

Microsoft has a page that gives the CLSID and ProgIDs of various MSXML 4.0 objects:

Symbolic Name: CLSID_DOMDocument40
         GUID: {88d969c0-f192-11d4-a65f-0040963251e5}
       ProgID: Msxml2.DOMDocument.4.0

Symbolic Name: CLSID_XMLSchemaCache40
         GUID: {88d969c2-f192-11d4-a65f-0040963251e5}
       ProgID: Msxml2.XMLSchemaCache.4.0

But none of the ProgIDs or the CLSIDs are registered on my Vista machine, or on colleague's XP machine.

  • Was MSXML 4.0 only shipped with some version of Office (e.g. Office 2003)?
  • Did it originally ship with Windows XP, but a later service pack removed it?
  • Was there a security vulnerability, and it's been depricated?
  • Has it simply been depricated?

i'm willing to move to MSXML 5.0, which is available on Windows XP and Windows Vista machines - but i'd like to be sure that i have the widest possible compatibility; and i would have thought MSXML 4.0 would be more widely available than MSXML 5.0.

Microsoft does recommend that i use MSXML 6.0:

It is recommended that you upgrade from earlier versions of MSXML to MSXML 6.0. MSXML 6.0 provides security and performance improvements over earlier MSXML versions.

like image 370
Ian Boyd Avatar asked Jul 02 '09 18:07

Ian Boyd


People also ask

Is MSXML 6.0 supported?

MSXML 4.0 is no longer supported by Microsoft. MSXML 5.0 is supported by the Microsoft Office lifecycle policy. MSXML 6.0 support follows the support policy of the OS into which it is built or onto which it is installed.


2 Answers

It's simply been deprecated in favour of MSXML 6.0. This blog entry from the Microsoft XML team goes through the history of MXSML. Don't me put off by the "...in Internet Explorer" part of the title, the history on that page is completely independent of IE.

In the section "MSXML Lifecycle and history" in that blog entry, the author states that:

MSXML4 was a predecessor to MSXML6 but hasn't ever shipped in the operating system. MSXML6 is a significant step forward in terms of reliability, security, W3C and System.Xml compatibility, and it also has support for native 64-bit environments. Right now we are investing much more heavily in MSXML6 and MSXML3 and we're encouraging our customers to move to 6 when possible and 3 when necessary.


OP edit: It's important to note that MSXML3 was released before the W3C decided on a final XSD specification. Ultimately W3C went with an XSD syntax different than what Microsoft had created for MSXML3. MSXML6 is fully compatible with the W3C's chosen XSD scheme.

This means that MSXML3 and MSXML6 are not compatible with each other; and MSXML3 does not use standard XSD.

like image 59
Chris J Avatar answered Sep 23 '22 14:09

Chris J


Check out the Q&A which-version-of-msxml-should-i-use?

The short answer for you is: use MSXML6.

like image 28
Cheeso Avatar answered Sep 24 '22 14:09

Cheeso