View Full Version : Do I need MSXML if I have .NET 3.5?

P Duncan
10-11-2011, 02:42 PM
In previous versions of our product, we included the MSXML 4.0 Merge Module. However, I've noticed in this wikipedia article (http://en.wikipedia.org/wiki/MSXML) that MSXML 6.0 is included as part of the .NET Framework 3.0.

Because of this, I decided to stop including the merge module. Now when I build the installer, it says:

ISDEV : warning -7181: XML file changes requires MSXML 3.0 or later at run time. It is recommended that the setup verify that MSXML is present on the target machines, or that it include MSXML prerequisites or merge modules.

Since I have .NET 3.5 as a prereq, can I safely ignore this warning? I do perform some XML File Changes using the installer.


Christopher Painter
10-17-2011, 01:41 PM
Test on the oldest / barest OS you plan on supporting and if you xml changes work you are fine.

Vista and beyond includes .NET 3.0 and hence includes MSXML 6 by default. It's also included in XP SP3.

Personally I think it's a pretty good idea to only support XP SP3 and beyond. Previous XP reallys should be patchd and Win 9X/NT/W2K should die unless you have a critical busines need.

P Duncan
10-17-2011, 01:54 PM
Thanks for your answer, Christopher.

Yes, we do only support XP SP3 and beyond, and furthermore, we require .NET 3.5 SP1, so I'm confident that MSXML 6.0 will be there. My only worry is that according to the wikipedia article, there are some depreciated features from MSXML 4.0 that are not in 6.0, so I'm slightly worried that the InstallShield XML File Changes could depend on these depreciated features. (Although the help says '(MSXML) 3.0 or later' so I should be okay).

But you are right, a vanilla XP SP3 installation should prove whether or not this is true.

Thanks again,

10-18-2011, 11:41 AM
There are indeed some nifty features in MSXML4 but InstallShield does not depend on them. What's more likely to break is the instantiation of MSXML; some of our MSXML instantiation code has been brittle in the past, and didn't handle multiple versions very well. I think all our current run-time code can use multiple different versions with ease, but, as Chris says, you should always verify your supported configurations actually work.

P Duncan
10-18-2011, 01:35 PM
Thanks, Michael.

And just for closure, installation works fine on a basic XP SP3 system.