THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | Join | Help
in Search

Aaron Bertrand

The XP SP3 / MSXML6 SP2 / SQL Server debacle

I see fingers pointing all over the place.  The Windows team blames the SQL team for making setup packages that can't bypass when a newer version of a file already exists on the target system.  The SQL team blames Windows for unceremoniously plopping the core MSXML files into the Windows Protected Files bucket.  Both point fingers at end users who install English versions of SQL Server on German and Italian versions of the operating system, a scenario which is almost unanimously blamed for the problem.

Can't we all just get along?  Fault is irrelevant.  A lot of people are stuck here; they can't install SQL Server or a SQL Server update on XP SP3, and the error messages leave them in a real state of head-scratching.  Error messages include the following:

This package is not supported on this operating system.
SkipInstallCA. Return value 3.

Fatal error during installation
MainEngineThread is returning 1603

Error code 1603
Product: MSXML 6.0 Parser (KB933579)
Installation failed.

For other potential error messages and more details on the problem, you can see Connect item #361660.

Ideally setup would detect the existence of a newer file, and just bypass that portion of the install; however, quite simply, this is a new development, and obviously wasn't a testable issue before XP SP3 was released (which is why there is little blame on the SQL Server 2008 and early SQL Server 2005 issues, but little excuse for the SQL Server 2005 SP3 edition of the problem).

Sure, you can call Product Support Services, and they can swipe your credit card.  Then they will walk you through a two-minute workaround and, after trying to indirectly convince you that they deserve to keep your money, will reluctantly refund you, since it is a problem they introduced.  But here is another workaround that might actually work until they fix the problem.

  1. download and install the Windows Installer Cleanup Utility.  Yes, the installer is a little confusing, as it is painted with all kinds of bitmaps involving antique versions of Microsoft Office.  Just install it and don't let these old logos scare you.  It really is a useful tool both in this case and for removing pesky SQL and VS installs that just won't go away (or are not even offered) via Add/Remove Programs / Programs and Features.
     
  2. launch the utility (it is tough to find at first, Start > All Programs > Windows Install Clean Up), find MSXML6 SP2 in the list, select it, and click remove.  It may not prompt you to reboot here, but I suggest that you do anyway.
     
  3. attempt the SQL Server 2005 / 2008 / SP / CU install again.
     
  4. if SQL Server installs successfully, then reinstall MSXML6.  This may fail (target version is newer than the source, imagine that!) depending on which version of SQL Server you installed, and which components.  In either case, obtain the critical update from KB #954459, which you can get in Security Bulletin MS08-069.  Just search for your operating system and the download for "Microsoft XML Core Services 6.0
."  Run this installer and you should be all up to date as far as MSXML6 goes.

If this process does not work (e.g. you still have problems installing SQL Server at 3.), check the setup logs and verify that MSXML6 really is still the issue (you may have fixed one problem only to reveal what would have failed next anyway). 

If MSXML6 is still the issue, then another workaround you can try is to remove XP SP3, install the SQL Server 2005 / 2008 / SP / CU, and then apply XP SP3 again.  If feasible, use the same language edition of SQL Server as the locale of your operating system (I realize that this is not always convenient).

Hopefully, by the time there is another SP for SQL Server, they will have fixed this mess, regardless of who is to blame.


Published Friday, February 20, 2009 9:51 PM by AaronBertrand
Filed under: , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

matthew said:

thanks for the instructions!

this really works

February 23, 2009 2:41 AM
 

WMI Probleme bei Installation SQL 2008 - Seite 2 - MCSEboard.de MCSE Forum said:

February 23, 2009 4:11 AM
 

John said:

The workaround is an unacceptable solution for those of us who embed SQL 2005 Express Edition into custom software distributions.  

February 23, 2009 9:58 AM
 

AaronBertrand said:

John, I agree.  I'm trying to help as many people as I can while MS works on a fix; obviously there are people for whom the workaround is inadequate.

February 23, 2009 12:42 PM
 

ShinyReview » Microsoft breaks SQL Server installs (and more) said:

February 24, 2009 9:07 AM
 

Roger Gooden said:

Can you tell us the 2 minute workaround support provides on the phone?  We are one of those who distrubute a software package and this looks like it could become a support nightmare.  If we get 50 new clients, am I going to have 50 calls coming in that our software doesn't work?  Was XP SP3 pushed out to all I assume?  Who to blame, I don't care but please MS get us a fix ASAP.

February 25, 2009 12:38 PM
 

AaronBertrand said:

Roger,

Believe me, I would share it if I had it.  I am awaiting for more details from an internal contact, including the actual workaround, and whether or not I can share it before they post something official.  Currently the company standpoint is to go through support, and in your case, you could call once and you'd have the workaround for all 50 clients.  The call won't cost you anything because it's a bug.  Neither fun nor ideal, but ultimately better than the more elaborate "fixes"...

February 25, 2009 4:33 PM
 

Brad said:

I was able to finally get SQL Server 2005 to install, but MSXML 6 SP 2 will not re-install. It says the installation was interrupted prior to completion and I should run setup later. I've tried rebooting and running the install again, but no luck. SQL Server 2005 seems to be running fine. Any thoughts on how I can get MSXML 6 SP 2 to re-install?

February 26, 2009 11:43 AM
 

AaronBertrand said:

Brad, which package did you try to install?  The one from http://www.microsoft.com/technet/security/Bulletin/MS08-069.mspx or the one from http://www.microsoft.com/downloads/details.aspx?familyid=993C0BCF-3BCF-4009-BE21-27E85E1857B1 ?  Whichever you tried, try the other.

If neither works, I think someone with a little more knowledge about MSXML6 (e.g. Microsoft Support) would have to review the logs and/or your system config to determine why it won't install.

February 26, 2009 2:45 PM
 

BFritz said:

John, We have the same issue with our product being packaged with SQLE2005 and our software installs crashing all around us, we needed a fix for this now! and could not wait for the Windows or SQL team to fix it! What we had to do was the following, turns out the Windows Installer CleanUp Utility is just a front end for a little command line app called MsiZap (which is installed in the same folder) MsiZap works off the product code which is "MsiZap T {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}" no more broken installs... we had to add that into our installshield process before SQL.

March 8, 2009 5:31 PM
 

Sal said:

Thanks Alot!

works great

March 10, 2009 7:58 AM
 

JYD said:

Very nice tip.

Finally I got my new SQL 2008 x64 Ent. Ed. Italian installed on Win Server 2003 R2 x64 Italian.

I would suggest to launch "msiexec /unregister" followed by "msiexec /regserver" if annoying msi related errors or warning appears in event viewver before install SQL server.

March 11, 2009 1:16 PM
 

John said:

Hey BFrit - that is quite an interesting workaround using "MsiZap T {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}".    I think that should be just a temporary solution, ie the unintall MSXML 6.0 SP2.  The real solution will be for MS to re-release the SETUP.exe for SQL EE which does not bomb on MS XML 6.0 SP2.  

March 11, 2009 5:50 PM
 

Scott said:

THANKS

March 12, 2009 10:16 AM
 

Loc said:

Thank You for the work around!

March 12, 2009 3:49 PM
 

Warren said:

Great Work Bfritz , worked like a charm.

Thanks

March 15, 2009 1:14 AM
 

Charles S said:

I'm not a developer, so I could not find MsiZap on my PC. So, for the benefit of others not as technical as you folks, here is what I had to do (yes, I know there must be an easier way):  1) downloaded and started the installation of Windows SDK for Windows Server 2008 and .NET Framework 3.5 from Microsoft.  I didn't wait for the whole thing to install because I'm impatient... as soon as MsiZap showed up in a windows search, I ran it in a command prompt with the code listed above by Bfritz.  It worked fantastic.  Then I cancelled the installation of the SDK.  Messy, but I can finally de-stress.  Thank you!

March 15, 2009 11:43 AM
 

Aaron Bertrand said:

I have some good news about a problem I described a while ago, concerning attempts to install SQL Server

March 16, 2009 2:22 PM
 

AaronBertrand said:

March 16, 2009 2:25 PM
 

Frank said:

Thanks for the MSICUU2 suggestion, Aaron.  It worked like a champ on this end.

March 16, 2009 7:34 PM
 

The Real XP SP3 SQL 2K5 MSXML6 Issue said:

-0.) This relates to SQL 2K5 setup failures.

0.) You should NOT need to uninstall XP SP3 to get SQL setup to work.  Aaron, it would be great for you to remove that from the blog above because that's a big hammer that is not required.  

1.) The transition from XP SP2 + MSXML6 (KB954459) (version 1099) and then upgrade to XP SP3 leaves the system in a dirty state.  I.e. ARP (add remove programs) shows MSXML6 (KB954459) installed but attempting to uninstall it will result in failure because KB954459 was built to know that MSXML6 is in band in XP SP3 but woops, didn't account for the upgrade from XP SP2 + KB954459 to XP SP3 transition.  SQL Server 2K5 SP3 calls the KB954459 MSXML6 installer (from the MSI cache) on XP SP3 resulting in the same failure which halts SQL install.  A mouthful, I know.

2.) MSXML6 is in band in XP SP3 so you should not ever need to install it again after cleaning the bad state.

So how do you get clean?  

http://support.microsoft.com/kb/290301 and specifically the windows installer cleanup utility http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe

As Aaron mentions above.  That will remove the ARP entry from your system but at the same time leave MSXML6 1099 in system32.  You can then install SQL with no issues.

March 17, 2009 12:28 AM
 

AaronBertrand said:

Quite frankly, removing SP3 might be a last resort option.  I think it is clear in the blog that this might be required if all of the previous recommendations failed.  Thankfully this seems to be a rare case, but I have seen forum threads indicating that sometimes this "big hammer" *is* required.

March 17, 2009 3:56 PM
 

Eric said:

I'm one of the lucky ones this fix helps.  Getting really frustrated until I came across this the MSICUU2 use solved the problem instantly. Saved my machine leaving the building through a window!

March 20, 2009 6:21 AM
 

In-Place Upgrade SQL Server 2005 nach SQL Server 2008 schl?gt fehl wegen MSXML 6 Version | hilpers said:

March 20, 2009 12:05 PM
 

Aaron Bertrand said:

Microsoft delivered a KB article about this whole MSXML6 problem with XP SP3 (which I talked about recently

March 20, 2009 12:26 PM
 

MF said:

I appreciate your help with this matter.  I have been researching on and off for a few months now and using the Cleanup utility did it for me.  In my case, I just had a corrupted msxml6.dll, and was not able to uninstall it from Add/Remove.  As soon as I uninstalled with the cleanup utility, I was able to install SQL Server 2005 without further issues.

March 23, 2009 8:11 PM
 

Dave said:

Great stuff, thanks for taking the time to blog this. Saved us a whole heap of trouble!

March 25, 2009 6:09 PM
 

AMJ said:

i was having problem since last week

this is what i was looking since i got this problem

thankx a lot =)

March 25, 2009 7:41 PM
 

Dan said:

Thank you thank you thank you thank you THANK YOU!!!! I'M NOT WORTHY!

March 27, 2009 6:41 PM
 

Sverker said:

Good points and thanks for the help!

March 30, 2009 7:29 AM
 

AaronBertrand said:

Some unsupported workarounds that might be a better approach than the cleanup utility:

http://is.gd/q6Lv

http://is.gd/q6MT

April 1, 2009 11:49 AM
 

saibei101 said:

April 6, 2009 6:15 AM
 

Daniel Kurland said:

BFritz,

{Turns out the Windows Installer CleanUp Utility is just a front end for a little command line app called MsiZap (which is installed in the same folder) MsiZap works off the product code which is "MsiZap T {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}" no more broken installs... we had to add that into our installshield process before SQL.}

This seems like a good work around for the SQL problem.  I was wondering if you could give me step by step instructions of how to run msizap from the commandline.  If you could I would really appreciate it.  I am on like 15 boards with my own posts searching for solutions, and about 6 hours into Microsoft technical support.  It took about 4 hours to convince them that this was an issue.  However, they still have no fix for me.  

If you could do it step by step.  Pretend I am stupid, which is pretty much how I feel chasing all of these different workarounds unsuccessfully.

I want to add it to an existing installer package.  Ideally, I'd like to install msizap without the cleanup utility and have it run and remove the broken install, all without the enduser being aware.

Is this possible?

Thank you so much!

April 11, 2009 12:39 PM
 

WB said:

This worked! Awesome- Thanks

April 13, 2009 3:44 PM
 

Using MSXML in your application? Double-check your installation. | The Testing Blog said:

April 15, 2009 10:35 AM
 

NSK said:

Awesome Aaron.. The solution is excellent and could complete the installation in no time

April 16, 2009 8:24 AM
 

Dave said:

Finally, a solution for this annoying problem!  Thanks Aaron!

May 15, 2009 8:06 PM
 

Jim Lawson said:

If you tried removing MSXML in normal mode and were not successful and you running XP Home Edition, then you need to reboot in safe mode (F8) logged in as "Administrator" only (not as your User Name with administrator rights, or Admin).  

Then use the Windows Install Cleanup Utility (Msicuu2.exe) to remove the MSXML 6.0 Service Pack 2. It should be successful in removing it where as it didnt in regular mode this is because Home edition has different permissions rights than Pro or Enterprise.

June 20, 2009 1:10 AM
 

Raj Gohil said:

This was really good solution.

Thanks

July 10, 2009 11:49 PM
 

Cod3 Monk3y, Inc. said:

Thanks Aaron.

I encountered this problem while installing an upgrade to v3.1.3 for my Neat Receipts scanner. I am on XP SP3. I used the utility to remove KB954459 from my system. I'm going off of "The Real... Issue" comments that KB954459 is in-band in XP SP3 and I am not going to re-install KB954459. If you do not hear back from me, you can assume I have had no other problems!

Cheers, and thanks again!

/cm

July 11, 2009 1:23 PM
 

Nikhil said:

Found your blog after digging through several google searches. Followed your directions up on top, and hey it worked!

Thanks!

July 16, 2009 9:03 AM
 

Allyson said:

Thank you!

July 17, 2009 6:28 AM
 

@MicrosoftSQLCSS said:

http://support.microsoft.com/kb/968749.  We won't charge customer's to walk through this issue.  This is the official source to workaround this problem.  We are looking at getting a more robust solution.

July 18, 2009 6:50 PM
 

AaronBertrand said:

Why not publish the registry change that can allow ISVs who ship Express with their products to bypass the problem programmatically?  The problem isn't that they have to call CSS, regardless of whether or not it is free.  The problem is that *their* customers call *them* and they have to spend *their* support time walking each of their customers through the issue.  :-(

July 18, 2009 10:14 PM
 

The presence of a workaround does not excuse the absence of usability « OTO One to One Interactive said:

July 24, 2009 4:17 PM
 

Andy Sutorius said:

Thanks for the help on this Aaron!

August 10, 2009 11:03 AM
 

Slipstreaming SQL 2008 Sp1 « Chris Armstrong – Info Worker Development said:

August 13, 2009 7:14 AM
 

Greg Balajewicz said:

the uninstall MSXLM6 via the cleanup utility worked BUT!! i got the blue screen when booting after the uninstall. Only lanuching windows in last known good configuration worked.

August 20, 2009 3:42 PM
 

Joe said:

September 30, 2009 10:17 AM
 

Miles said:

http://support.microsoft.com/kb/968749.

just responds with "Server is too busy" I have never experienced this with a microsoft site before. Has anyone got any idea what is a good time to try (a Quiet period)

October 9, 2009 8:37 AM
 

andy said:

Worked for me, what a funny error, it complains that win xp sp3 is an unsupported OS, haha. I take it that windows installer clean-up actually just calls Msizap with the correct GUID.

October 15, 2009 12:28 AM
 

Ross said:

Hi. This is not strictly on topic (ie: I don't even know what SQL is!), but is related to MSXML6. I am running short of HD space and am getting rid of applications I don't need. I have XP Home.

Can I delete MSXML6 without affecting my computer's functioning, please? I've googled to find out what MSXML6 actually is, but can't understand the tech talk. All I need to know is do I need to keep this program (or whatever it is)?

Cheers!

October 28, 2009 10:01 PM
 

AaronBertrand said:

Ross, I'm pretty sure it's essential for some programs other than SQL (IE, maybe Office too), and to be quite honest, you're not going to save a lot of disk space getting rid of it.  Some much better, low-hanging fruit:

http://www.geckoandfly.com/2009/04/26/remove-windows-xp-update-backup-files-recover-and-increase-disk-space/

http://www.go4expert.com/forums/showthread.php?t=4278

Also get this download and read the "cleaning Windows" section:

http://www.tweakguides.com/TGTC.html

October 28, 2009 10:34 PM
 

Ross said:

Thanks a lot, Aaaron. Will follow up your links and recomendations.

Cheers!

Ross

October 28, 2009 10:53 PM
 

Ross said:

Duh - sorry about the typo ...should of course be Aaron! No edit function!

October 28, 2009 10:54 PM
 

Nick said:

Great suggestion Aaron! I uninstalled MSXML6 sp2 and the install worked like a charm!

November 13, 2009 3:52 PM
 

Ivana said:

Thank you very much, you help a lot.

I've lost two whole hours tring to figure out what the hell is going on until I decided it's time to go online.

And all this for features that a true dba is trying to avoid using in his databases in the first place.

Anyway, thanks a lot....

November 16, 2009 10:45 AM
 

SQL SERVER install error - MediaPortal Forum said:

November 23, 2009 1:49 AM
 

John McMillion said:

Thank you!  You saved the day!!  =)

John

November 30, 2009 3:47 PM
 

Bill Miller said:

Thanks Aaron.  This saved the day.  I thought I would never get SQL 2005 back on my XP machine.  But this worked.

December 1, 2009 6:12 PM
 

WTF goes on with MS SQL server & CRAP!!!!! said:

December 6, 2009 7:10 PM
 

Ben said:

Oh man!  Thanks!  I was trying to fix that damn failed XML, but couldn't figure out how to uninstall it.  That little tool is cool.

December 15, 2009 11:03 PM
 

David said:

Aaron, thanks, I had just invested several hours on a Sunday afternoon trying to figure out what was going wrong, when I should have been working on something else.  I googled it, found your blog, and removing MSXML 6 worked great. You rock.

As for Microsoft costing several hours of my time because some product manager doesn't think it is important to fix this problem, well that is how Microsoft earns its bad reputation.

January 3, 2010 7:35 PM
 

SQL Server Profiler Error : Unable to read trace definition file Microsoft SQL Server TraceDefinition 9.0.0.xml. Click OK to retrieve from server. Retrieval may take a few moments « Phillip::Kuo said:

January 6, 2010 2:20 PM
 

JD said:

That worked.  Thanks.  I did not have to uninstall sp3.  I removed msxml 6 sp2 using the microsoft too but that was not enough.  I installed msxml core 6.0 msi and sp 1 msi.  Then, I retried Sql server 2005 and it was able to put msxml 6 sp2 on without issue.  What an ordeal.

January 19, 2010 5:46 PM
 

Rex Gibson said:

I had a slight variation on this problem. MsiZAP could not delete the keys -- Permission denied.

1) MSI ZAP if you have installed Windows Installer CleanUp Utility

Should be located here: C:\Program Files\Windows Installer Clean Up

When I ran command prompt:

C:\Program Files\Windows Installer Clean Up\MsiZap T {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}

I received error that access was denied.

I rebooted in safe mode and received the same error.

* I then opened up windows explorer (in safe mode but I bet this could be done "normally")

* Navigated to C:\WINDOWS\Installer\

* Right Clicked on folder {1A528690-6A2D-4BC5-B143-8C4AE8D19D96} >> Properties >> Security >> and clicked on "advanced" button

* In the Advanced window, I checked the "Replace Permission Entries..." and then clicked on apply.

* Reran msizap.

Worked Like a charm.

February 4, 2010 5:12 PM
 

Maik said:

March 5, 2010 7:45 AM
 

Fanya said:

Thanks a lot Aaron, you made my day and saved me from getting fat from hours and days of frustration! I struggled for a week trying to get to install SQL Server and failing because of this stupid "Error Signature MSXML 6 Servece Pack 2" Eventually I found your article and HURRRA!!!! - it was like pure magic - I felt like a princess in a fairy tail - Thanks, Thanks and Thanks a lot - You are the Best.

March 7, 2010 1:34 AM
 

Ralph Andersson said:

Hahaha..

So this is Enterprise Software. What a joke!

March 17, 2010 11:23 AM
 

AaronBertrand said:

Look, I agree that sometimes bugs are embarrassing and downright unacceptable.  But on the flip side, please list one perfect software company - just one.  The plus side is that when issues like this occur, the community can help right the ship.

March 17, 2010 11:27 AM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About AaronBertrand

...about me...

This Blog

Syndication

Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement