Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

How the .NET Framework can get reverted and cause problems for Update Rollup 2 for MCE 2005

How the .NET Framework can get reverted and cause problems for Update Rollup 2 for MCE 2005

  • Comments 8

I have previously written about component registration failure errors that have been seen in some instances after installing Update Rollup 2 for Media Center 2005.  As I described here, the primary root cause we have seen for this type of error is that the version of mscoree.dll in %windir%\system32 gets reverted from the .NET Framework 1.1 SP1 version to the .NET Framework 1.0 SP3 version.

After investigating this issue a bit more, we have found some scenarios that will cause this file to be reverted like this.  In particular, the following set of steps will cause this to repro:

  1. Install Media Center 2004
  2. Install the .NET Framework 1.1
  3. Install the .NET Framework 1.1 SP1
  4. Upgrade to Media Center 2005

What happens behind the scenes in this scenario is that the Media Center 2005 upgrade performs the equivalent of an OS reinstall but without reformatting the partition that the OS is installed to.  The .NET Framework 1.0 SP3 is a part of the OS in Media Center 2005, and it is a design philosophy of OS setup that it will install any files that are a part of the OS regardless of whether or not there are later versions of those files already present on the file system.  The reason for this is that computers could be in unknown states with higher versions of some files, but the bits that were shipped on the OS are known to work well together and be tested as a single unit.

After performing this upgrade, the file %windir%\system32\mscoree.dll is updated to the 1.0 SP3 version that is included as part of the OS in Media Center 2005.  However, the .NET Framework 1.1 and 1.1 SP1 are still considered to be installed by Windows Installer and Windows Update.  That means that if you visit Windows Update on a machine that has been upgraded in this manner, you will be offered Update Rollup 2, but not be offered the .NET Framework 1.1 or 1.1 SP1.

One of the commands run during Update Rollup 2 setup specifically calls the 1.1 version of ngen.exe, but that version of ngen.exe will not work correctly with the 1.0 SP3 version of mscoree.dll, so setup detects this error and stops running any further registration code.  That leaves the machine in a state where some Media Center components are not registered.  In order to get Media Center fully registered and recover from this scenario, you can run the following steps:

  1. Install the .NET Framework 1.1 SP1 or a later version of the .NET Framework such as the .NET Framework 2.0
  2. Click on the Start menu, choose Run and type cmd
  3. From the cmd prompt, run %windir%\ehome\medctrro.exe /o /p RunOnce to complete Media Center registration that was previously skipped

 

  • Does .net 2.0 offer any advantages over 1.1 for MCE2005 users? My system is running very smoothly on 1.1, but I did see that 2.0 was available via Windows Update. If there is no reason to upgrade, then I will not download 2.0.
  • Hi Joey - the .NET Framework 2.0 offers many advantages to developers and users, but it should not have any effect one way or the other for Media Center itself. Media Center is written in managed code, but it uses the .NET Framework 1.1 as the runtime version for all of its functionality. I encourage you to download and check out .NET 2.0 - there is a lot of great info explaining what is new and cool in this product at http://msdn.microsoft.com/netframework/.

  • Hi Aaron,
    As I exactly have the same problem (MCE 2004, FW 1.1 SP1), I tried your procedure, but I still have the same problem. The file mscoree.exe is now at version 1.1.4322.2032 and ngen.exe is 1.1.4322.573, this one located in Framework directory (is it the good place to have ngen.exe?)
    I have Media Player 10 installed by the way.
  • Hi Guylain - can you please send me the setup logs (listed at http://blogs.msdn.com/astebner/archive/2005/10/16/481689.aspx) so I can take a look? You can reach me at aaronste@microsoft.com.

  • Hi Aaron,

    Thanks for your help! After installing rollup 2, my system was worthless! Your fix did the trick.

    Much thanks.

  • Aaron - I need help like Randy and after reading some of the things I really think you would be able to help. I have Dell Media Center XP edition and I was getting BSOD so I thought of reparing the XP from the CD that I had from DELL. On fixing the OS, I got "ngen.exe Procedure entry point GetRequiredRuntimeVersion could not be located in mscoree.dll". I ignored the error and now the XP starts up but with a blank screen and nothing after that. I can put the restore CD to start in Recovery mode but thats about it. How can I fix my PC? Looks like .NET version is messed up but I am novice on that and really looking forward for some help.

    Regards,

    Himesh

  • Hi Himesh - I'm sorry for the hassles that this issue is causing for you.  If you have access to another computer, I'd suggest trying to download the .NET Framework 3.5 SP1 installer from download.microsoft.com/.../dotnetfx35.exe, copy the installer to the computer that is encountering this error, and running it from safe mode.  If that isn't an option, I think you might need to re-install Windows from your original OS installation disc to solve this type of error.

  • Thank you. I appreciate your prompt response.

Page 1 of 1 (8 items)
Leave a Comment
  • Please add 8 and 6 and type the answer here:
  • Post