I heard from a customer today who was running into component registration failure errors after installing Update Rollup 2 for Media Center 2005. In this case, they tried the workaround for the .NET Framework issue described in this previous blog post, but it did not resolve the errors. I found the following information in the file %windir%\medctrro.log that the customer sent me:
GACAssembliesAddRemove: Failed to uninstall assembly (Microsoft.MediaCenter)
Fortunately, I had seen a similar problem in the past where an add-in had installed a copy of Microsoft.MediaCenter.dll as part of their setup so I had an idea of where to start in troubleshooting this issue. The file Microsoft.MediaCenter.dll is always installed on Media Center 2005 computers as part of the OS. When an application that is packaged using an MSI-based setup is installed on the Media Center 2005 OS and it tries to install Microsoft.MediaCenter.dll (or any other assembly that is installed as part of the OS), it adds an additional reference count on the file. Then, when Update Rollup 2 or any other Media Center hotfix tries to uninstall the old copy of this file from the GAC and then install the new copy of the file to the GAC, the uninstallation fails because of the additional reference count held on this file. Media Center hotfix setup halts at the point of this failure, and the remaining registration steps are not run (including registering Media Center services such as ehRecvr and ehSched).
What I had the customer do was use the tool described in this blog post to run the msiinv.exe tool with the verbose switch (-v). Then I searched for Microsoft.MediaCenter.dll in the output from msiinv.exe. In the case of this customer, they had a product called Rudeo MCE Control installed. I went to the company's web site and found a trial version of the Rudeo MCE Control. Looking at the MSI for this product in Orca showed that it was indeed installing a copy of Microsoft.MediaCenter.dll to the GAC.
I had the customer uninstall the Rudeo MCE Control and then re-install Update Rollup 2 from this location and Media Center Hotfix KB908250 from this location to resolve these component registration failure errors.
If you run into this issue, you can re-install the Rudeo MCE Control software after you uninstall it and then install Update Rollup 2. However, if there is any future Media Center hotfix that needs to update Microsoft.MediaCenter.dll, then you will have to uninstall the Rudeo MCE Control software before the future hotfix will install successfully due to the root cause described above.