The procedure entry point GetRequestedRuntimeVersion could not be located in the dynamic link library mscoree.dll

Symptoms

Aaron Stebner blogged this a few days ago, but some folks are still running into it, so I'll speak to it a bit.  If you get an error dialog with the message "The procedure entry point GetRequestedRuntimeVersion could not be located in the dynamic link library mscoree.dll" during Media Center updates or while running MceRepair, you have (most likely) gotten a corrupt .NET Framework 1.1 installation. 

Solution

The fix is to reinstall the Framework from: https://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en

Root Cause

The most likely cause for this issue is a "clean" reinstall of Windows into the same directory without formatting the disk first.  Since the .NET Framework 1.0 is included with Windows XP Media Center Edition, the 1.0 version of mscoree.dll is saved into the Windows directory, overwriting any version (e.g. the 1.1 version) already there.  Since the Windows registry is stored in a file that is not completely overwritten during the install, most of the v1.1 entries are left behind, making the .NET Framework v1.1 almost work.  Compounding the problem, there are reports that v1.1 is not offered on Windows Update, because the update logic looks for the registry entries that tell it whether it's installed already, and gets fooled.