Now we're getting somewhere : the MSXML6 issue

Last February / March, I wrote several posts about an issue with MSXML6 on Windows XP which prevented the installation of SQL Server 2005, SQL Server 2008, and even service packs or cumulative updates in some cases:

2009-02-20 : The XP SP3 / MSXML6 SP2 / SQL Server debacle

2009-03-16 : More info / good news : installing SQL Server on XP SP3 with MSXML6 SP2

2009-03-20 : One more post about MSXML6 SP2, XP SP3 and SQL Server : I've been duped!

There are also a couple of Connect items talking about the error itself or a potential workaround:

#361660 : SQL Server Express 2008 Installation – Update msxml6r error

#435245 : Update the SQL Server 2005 SP3 Express installers to bypass MSXML6 SP2

The latter article was recently updated by Peter Saddow of Microsoft, who said, "Just providing an update on this issue. We are planning to address in SP4."  I guess this will ultimately help Express users to some degree, but not regular edition customers – SQL Server 2005 does not support slipstream, so if MSXML6 is blocking the engine installation, SP4 is not going to do you much good.  (I posted yesterday that a public preview of SQL Server 2005 SP4 is available.)

For a short while, the KB article developed as a response to this issue (KB #968749) had instructions on using the Windows Installer Cleanup Utility to remove MSXML6 completely, and then reinstall it.  This utility has since disappeared from Microsoft's web site, so now the KB article just says the following:

I've recently been told that there is a new EXE that has been published by Microsoft specifically to clean up MSXML6, on Windows XP systems only, so that SQL Server can be installed.  Please use this file at your own risk, and if possible, wait until its use is fully documented in KB #968749.  But if you can't wait, the file is here:

http://download.microsoft.com/download/E/3/F/E3F51FFB-505D-480E-9F67-0DD3A9680DEE/MSXMLFix.EXE

When you run this file, you'll have a EULA to agree to, and then a self-extracting WinZip archive:

 

Make a new folder before clicking Unzip because, if you dump this in your standard temp folder, you'll have no idea which files were extracted. 

Now, when you unzip the installer, you end up with these files, and no instructions:

 

(Note the last modified dates of the important files – this will come up later.)

If you quickly scan the VBS file, you'll see that it references the MSP file, so it is clear that to get the ball rolling, you can double-click the VBS file.  I don't have an XP system, so on Windows 7, I can't tell you exactly what the EXE does, as I get the following error:

 

It would be easy enough to edit the VBS file to bypass the local operating system check, but that kind of defeats the purpose. You should ONLY try to apply this fix on a machine that is the correct operating system and is clearly exhibiting the symptoms in KB #968749.

See, my concern (well, let's call it after-the-fact disappointment) is that these files were created LAST JUNE… and then Microsoft sat on them for almost a year and a half.  By now, I would bet that 99% of the people affected by this issue have either (a) found another workaround because they were sick of waiting, or (b) subsequently upgraded to a more recent operating system which, as an added bonus, is not affected by this issue in the first place.  So from my point of view this fix – even if it works – is too little, too late.

Aaron Bertrand

I am a passionate technologist with industry experience dating back to Classic ASP and SQL Server 6.5. I am a long-time Microsoft MVP, write at Simple Talk, SQLPerformance, and MSSQLTips, and have had the honor of speaking at more conferences than I can remember. In non-tech life, I am a father of two, a huge hockey and football fan, and my pronouns are he/him. If I've helped you out, consider thanking me with a coffee. :-)

3 Responses

  1. bob ama says:

    doesn't work. i am going to cry: "the configuration data for this product is corrupt. contact your support personnel"

  2. KSpero says:

    I am somewhat lame with SQL, but after losing much brain matter trying to install SQL 2005 wih no success, this MSXML6 uninstall utility worked awesome.  Thanks for your tireless efforts and expertise!!!

  3. Steve Jones says:

    This works for me:
    before installing SQL Server
    -regedit
    — HKEY_CLASSES_ROOT -> Installer -> Products
    Highlight Products and use the down arrow key to navigate through it's subkeys (folders) while keeping an eye for a 'ProductName' Key with MSXML6 as the value.
    When you find the folder containing ProductName = MSXML6, delete the entire folder and then try the install.
    Make sure you backup your registry before trying this.