Update Rollup 2 setup failure when installing KB899337

I heard from a couple of customers today who ran into a new (to me) setup problem while installing Update Rollup 2 for Windows XP Media Center Edition 2005, and I decided to post it here as well in case anyone else sees it. The customers who saw this issue visited Windows Update and attempted to install Update Rollup 2, but it failed and reported a generic "setup failed" message.

In the cases I have seen so far, one of the prereqisite packages for Update Rollup 2 (a networking control panel hotfix described by KB899337) failed to install because there was another hotfix installed that updates one of the same files (an Internet Explorer cumulative security update described by KB912812).

How can I workaround this issue?

In the cases I have seen so far, uninstalling Security Update for Windows XP (KB912812) and then attempting to reinstall Update Rollup 2 has proven successful. The following steps can be used to accomplish this:

  1. Click on the Start menu, choose Run and type appwiz.cpl to go to the Add or Remove Programs Control Panel
  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 (KB912812)
  4. Attempt to install Update Rollup 2 again by returning to Windows Update or running the setup package located here
  5. After successfully installing Update Rollup 2, return to Windows Update and re-install Security Update for Windows XP (KB912812)

How can I tell 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 KB899337 is the package that fails on your system, you will see the following entry at the end of mcsetup.log:

Generic Package: 04/18/06. 19:33:02
Looking for existing install of the generic package
Creating Process: WindowsXP-KB899337-v2-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%\kb899337.log to determine the exact reason why this hotfix failed to install. In the cases I have seen so far, the error in kb899337.log looks like the following:

2.406: AnalyzeForBranching: g_bMigrate set to TRUE because target file c:\windows\system32\xpsp3res.dll has branch sp2gdr which is smaller than branch for sp2qfe
....
12.609: MigrateHotfix: Migrating hotfix KB912812
12.641: Rename failed. Destination path c:\windows\$NtUninstallKB912812_0$ exists.
12.641: MigrateHotfixes: Migration of KB912812 failed
12.641: DoInstallation: Migration failed