Update Rollup 2 setup failure while installing KB891593

I have heard from a couple of customers who have encountered an error during setup for Update Rollup 2 for Media Center 2005, and setup then fails with a generic message (which simply states that setup failed). In the cases I have seen so far, one of the prereqisite packages for Update Rollup 2 (a DShow hotfix described by KB891593) failed to install because there was another hotfix installed that updates the same file (another DShow hotfix described by KB904706).

This does not happen on all computers that have KB904706 installed before attempting to install Update Rollup 2, but since it has been seen by multiple people now I wanted to post a workaround here just in case anyone else runs into it.

How do I know if this issue is the one affecting my machine?

You can diagnose this issue by looking at a couple of the log files that Update Rollup 2 setup creates. First, you can open %windir%\mcsetup.log in a text editor such as Notepad. If KB891593 is the package that fails on your system, you will see the following entry in mcsetup.log:

Generic Package: 09/20/05. 09:00:44
Looking for existing install of the generic package
Creating Process: WindowsXP-KB891593-x86.exe /quiet /norestart
Process returned 0x00000643

The 0x00000643 return code (which translates to 1603 in decimal) represents the return code for a generic error in a Windows hotfix package.

Now, you can look at %windir%\kb891593.log to determine the exact reason why this hotfix failed to install. In the cases I have seen so far, the error in kb891593.log looks like the following:

3.437: DoInstallation: Installation was canceled because migration is blocked by following files:
3.437: Package KB904706, File c:\windows\system32\dllcache\quartz.dll, Version 6.5.2600.2749, Branch SP2GDR
3.437: Package KB904706, File c:\windows\system32\quartz.dll, Version 6.5.2600.2749, Branch SP2GDR
3.453: KB891593 Setup encountered an error: Failed to migrate dependent packages.

How can I workaround this issue?

In the cases I have seen so far, uninstalling KB904706 and then attempting to reinstall Update Rollup 2 has proven successful. The following steps can be used to accomplish this:

  1. Go to the Control Panel and choose Add or Remove Programs
  2. Check the box labeled Show updates in the top middle of the Add or Remove Programs window
  3. Locate the section named Windows XP - Software Updates and choose to uninstall the package named Security Update for Windows XP (KB904706)
  4. Attempt to install Update Rollup 2 again by returning to Windows Update or running the setup package located here

Note: Once you have successfully installed Update Rollup 2 for Media Center 2005, you can safely reinstall KB904706 on your system if you would like to.

What is the root cause of this issue?

We are still trying to identify an exact root cause for this problem. Both KB891593 and KB904706 try to update the file %windir%\system32\quartz.dll, but there is a mechanism within the Windows hotfix setup wrapper (update.exe) that accounts for overlapping files and migrates copies of the file appropriately. We have attempted to reproduce this issue in our test lab and in the cases we have tried, Update Rollup 2 setup succeeds, and there is information like the following in kb891593.log:

30.891: MigrateHotfix: Migrating hotfix KB904706
30.922: Migrating QFE KB904706 with command line: update.exe -Z -Q -B:sp2qfe
46.500: MigrateHotfix: Hotfix KB904706 successfully migrated
46.500: MigrateHotfixes: Return code: 3010

I will update this post if/when we discover better information about what is causing this problem and why it is not does not reproduce 100% of the time when we try it in our lab.

<update date="2/21/2006"> Added a note that it is safe to reinstall KB904706 after Update Rollup 2 has been successfully installed if you run into this scenario </update>