tags:

views:

618

answers:

5

I'm developing a C# application that uses a handful of XML files and some classes in System.Xml. A coworker insists on adding the MSXML6 redistributable to our install, along with the .NET framework but I don't think the .NET framework uses or needs MSXML in anyway. I am well aware that using MSXML from .NET is not supported but I suppose its theoretically possible for System.Xml itself to wrap MSXML at a low level. I haven't found anything definitive that .NET has its own implementation but neither can I find anything to suggest it needs MSXML.

Help me settle the debate. Does System.Xml use MSXML?

+10  A: 

System.Xml doesn't use MSXML6. They are seperate xml processing engines. See post here: http://blogs.msdn.com/stan_kitsis/archive/2005/09/20/472185.aspx

Nate Smith
A: 

I think it's needed for some MsSql-XML functionality, but System.Xml is in the core framework.

You should test your installer on a fresh machine anyway, just to be sure.

Keith
+1  A: 

There is no need for this sort of stuff to be the subject of tedious workplace debates, because the source code for the framework is available, and with a minuscule amount of work you can download the whole lot onto your machine. http://www.codeplex.com/NetMassDownloader

With another tiny bit of work, you can make a VS project which contains all the framework source, which makes it even easier to look through.

Will Dean
+1  A: 

System.Xml is in the core framework and not dependent on MSXML 6.0, but it shares a few common API (DOM parser, SAX parser, XPath node selection).

Vincent
A: 

.Net framework uses MSXML6 for installation on WinXP SP2 and W2K3 SP2 only where MSXML6 is not in the box. System.Xml is a different product to MSXML6 though some APIs share similar signature.

Samuel Zhang