Duet install of SQL Express fails if MSXML 6 Service Pack 2 (KB954459) is installed

Duet installation may fail if MSXML 6 Service Pack 2 (KB954459) is already installed. For a silent Duet install you should see an exit code of 2 in the setup log which maps to SQLINSTALLFAILURE and indicates that Duet was not able to install SQL Server 2005 Express Edition. If you try to install manually you will see an error when SQL Express tries to install MSXML6. See the following image:

image

 

You may also get the following error dialog:

Installation of MSXML 6.0 Parser (KB933579) failed because a higher version already exists on the machine. To proceed, uninstall the higher version and then run MSXML 6.0 Parser (KB933579) Setup again.

 Installation of MSXML 6.0 Parser (KB933579) failed because a higher version already exists on the machine. To proceed, uninstall the higher version and then run MSXML 6.0 Parser (KB933579) Setup again.

 

This SQL/MSXML install issue is documented in the following article:

KB968749 SQL Server 2005 setup fails when MSXML Core Services 6.0 Service Pack 2 has already been installed

 

 

Workaround

The solution is to uninstall KB954459 prior to installing Duet - or more specifically prior to installing SQL Server 2005 Express Edition. But, in most cases trying to uninstall KB954459 via Add/Remove programs will fail. The resolution is to run the Windows Installer Cleanup Utility (MSIZAP.exe) to remove KB954459 from the Windows Installer database. This can be done manually on each machine as described in KB968749 or it can be done by calling MsiZap.exe from a command line and passing in the product code for KB954459 which is {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}.

Here is the Msizap command line to remove MSXML6 SP2 KB954459

"<PATH>\MsiZap.exe" T! {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}