Partilhar via


One root cause of component registration failures in MCE 2005 Update Rollup 2 identified

Now that I've posted steps to diagnose and manually fix component registration failure errors that are sometimes seen after installing Update Rollup 2 for Media Center 2005, I have heard from a few customers who have run into this problem and worked with them to identify at least one possible underlying cause.

In the cases I have investigated so far, the NGEN commands that are run during Update Rollup 2 registration to fail with an "interface not found" return code. When running the same NGEN command separately, these machines showed an error message stating The procedure entry point GetRequestedRuntimeVersion could not be located in the dynamic link library mscoree.dll

The underlying problem on these machines was that the version of %windir%\system32\mscoree.dll was reverted back to the .NET Framework 1.0 SP3 version (1.0.3705.6018). Ordinarily, mscoree.dll should be the .NET Framework 1.1 SP1 version (1.1.4322.2032) or higher on machines with Update Rollup 2 installed because the .NET Framework 1.1 SP1 is a prerequisite for installing Update Rollup 2.

The following steps have allowed the customers I have worked with so far to fix this issue:

  1. Download and reinstall the .NET Framework 1.1 SP1
  2. Go to the Start menu, choose Run and type cmd
  3. From the cmd prompt, run %windir%\ehome\medctrro.exe /o /p RunOnce to re-run Update Rollup 2 registration code

I am still not clear about how mscoree.dll is being reverted in this scenario, so my next step is to figure out what exactly could cause that. This is an interesting convergence of my previous experience working on the .NET Framework setup team and my current experience on the Media Center setup team. Based on my experience on the .NET setup team, I can't think of any valid ways this file would be reverted like this. One possibility I can think of is performing a system restore - I know that performing a system restore will revert the file versions, but I don't know if it would leave behind the registry value that would trick Update Rollup 2 setup into thinking that 1.1 SP1 is installed when actually it isn't. For reference, the registry value that Update Rollup 2 setup looks at to detect the presence of .NET Framework 1.1 SP1 is HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322@SP >= 1.

I think there may also be some potential conflicts with some older beta versions of the .NET Framework 2.0. I have not yet found a machine that demonstrates problems that I've traced back to .NET 2.0, but I do know that installing .NET 2.0 will update the version of %windir%\system32\mscoree.dll, and uninstalling .NET 2.0 will not revert it back because of how Windows Installer handles shared files and reference counting. I am going to try to create some repro scenarios to look at this further.

I'll post further updates when I figure out more about the root cause of these issues....

Comments

  • Anonymous
    October 20, 2005
    This solved it for one of the two problem machines. I'll try the other later. Thanks!!!
  • Anonymous
    October 21, 2005
    The comment has been removed
  • Anonymous
    October 21, 2005
    Well, after fighting with Rollup 2 on an OEM machine I built (and I can't think of anything that would have reverted .Net back; as I hadn't done any system restores nor uninstalled anything till Rollup 2 failed) that fixed it.
  • Anonymous
    October 22, 2005
    The comment has been removed
  • Anonymous
    October 27, 2005
    The comment has been removed
  • Anonymous
    November 05, 2005
    Very, very cool. This was on a new VAIO that did not have too much development software. It did have VS2003 - no idea if that changed anything. This was rather quick and painless.

    This sounds like an infomercial "I used to weigh 400 pounds and was washing my dishes in the bathtub until I re-ran the Update Rollup 2 registration code! Now I own my own house, a boat, and my own company!"
  • Anonymous
    November 05, 2005
    Also, thought I should point out that after this first part was fixed I noticed that the TV Tuner was not being recognized. I found a solution here: http://www.thegreenbutton.com/community/shwmessage.aspx?ForumID=41&MessageID=136083&TopicPage=2

    All I needed to do was to uninstall the hotfix and re-run the registration code again. Everything seems to be working well now.
  • Anonymous
    November 12, 2005
    Upgrading the OS to MCE 2005 SP2 (from either MCE 2004 or MCE 2005) resets mscoree.dll to 3705.
  • Anonymous
    December 15, 2005
    Thank you for your site. It is very informative. I still cannot get my Theater 550 Pro to install in Media Center but I found other ASPI.NET registry entries pointing to .Net 2.0 that was removed instead of 1.1.

    I think I will reformat and omit .Net 2.0 and Update Rollup 2 until all the problems are fixed from Microsoft. Thanks Again.
  • Anonymous
    January 08, 2006
    MCE Repair 0.2 works to get sound working in live tv and any stutter that occasionally appears but only til I reboot. Once in awhile it works ok on start up but rare. MCE 2005.
  • Anonymous
    January 18, 2006
    Thank you for the advice to run medctrro.exe. It was the single critical step to get the TV working. Before I was stuck with Tuner not Found for quite a while. Thanks again.
  • Anonymous
    March 09, 2006
    The comment has been removed
  • Anonymous
    March 14, 2006
    Hi Greg - I am not sure I understand exactly what issue you are running into.  Can you please provide details about the exact error messages you are seeing and what troubleshooting steps you have tried so far?
  • Anonymous
    April 13, 2006
    Hi,
    I have tried your advice but mine still would not work.  I got the following error message after I accidentally removed PowerDVD 5.5 and now trying to play DVD (I later reinstalled PowerDVD 5.5):
    "Application Failure.  A critical Media Center process has failed.  Please restart the computer and try again.  If the problem persits, contact your hardware manufacturer for assistance."

    Thanks,

    Arthur.
  • Anonymous
    April 13, 2006
    Hi Arthur - The steps listed at http://blogs.msdn.com/astebner/archive/2006/02/17/534559.aspx might also help resolve this issue on your system, so I would suggest that you try them out as well.
  • Anonymous
    May 26, 2006
    Hey Aaron,

    It turned out that by installing .NET framework 2.0 and then run the "%windir%ehomemedctrro.exe /o /p RunOnce" command the problem was solved. Couldn't have done it without your blog so kuddos to you!

    Tony.