How to repair the .NET Framework 1.0 that ships as part of the OS on Media Center and Tablet PC

A couple of months ago I posted some instructions about how to repair the OCM version of the .NET Framework 1.1 that ships as part of the OS on Windows Server 2003 (at this location).  When I wrote that post, I knew that there would eventually be questions about how to perform a similar repair for the version of the .NET Framework 1.0 that ships as part of the OS on Windows XP Media Center Edition and Tablet PC Edition, but I skipped those instructions at the time because they are more complicated.  Yesterday, I came to work and found a comment on one of my blog posts asking that very question, so now it is time to list these steps as well.  I apologize in advance for the complicated nature of these steps – I promise that if we knew then what we know now we would have engineered our OCM setup to make this easier.

Here are the steps required to manually repair the .NET Framework 1.0 on Media Center and Tablet PC:

  1. Delete the registry value netfx under HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OC Manager\Subcomponents

  2. Rename the registry values ServicePackSourcePath and SourcePath located at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup to ServicePackSourcePath2 and SourcePath2

  3. Rename the file netfxocm.dll located at %windir%\system32\dllcache

  4. Download the file netfxocm.dll (located in the zip file here) and copy it to %windir%\system32\setup.  A Windows File Protection error will likely appear shortly after doing this, and for now you can press cancel and ignore it.

  5. Create a file named netfx_repair.inf that contains the following text (or download it from here):
    Signature = “$Windows NT$”

  6. Open a cmd prompt and run the following command: sysocmgr /i:<full path to netfx_repair.inf>.  This will bring up the Windows optional component installer wizard.  Press next and installation/repair of the .NET Framework 1.0 component will begin.  You will be told that you need your original OS installation disc.  Press OK on that dialog.

  7. After pressing OK, you will be prompted to browse to the location of your OS installation disc.  In the browse dialog, you will need to browse to the folder \cmpnents\netfx\i386 on your OS installation disc or network share.  Windows XP Tablet PC Edition and Windows XP Media Center Edition include a file named on their installation discs in the \cmpnents\netfx\ sub-folder, and that cab file contains the files needed for the .NET Framework 1.0.

  8. After optional component setup finishes, rename the registry values ServicePackSourcePath2 and SourcePath2 located at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup to ServicePackSourcePath and SourcePath

Note, you can verify that the .NET Framework 1.0 component was repaired by looking at the contents of the log file named %windir%\netfxocm.log.  You should see entries towards the end indicating that several files were installed to the GAC, type libraries were re-registered, performance counters were re-registered, etc.

<update date=”8/19/2007″> Added more specific details about where to browse for .NET Framework 1.0 source files </update>

<update date=”6/24/2009″> Fixed broken download links. </update>


Comments (29)

  1. Matt Ridings says:

    Note that is now offline (at least for me) and is being redirected to

    So can’t download any of the tools or dll files.

    So far unable to repair my xp mce installation but will repost after trying a few more options.

    Cheers, and thanks for making this sort of information available.

    -Matt Ridings

  2. Hi Matt – it looks like there was some kind of outage on the ISP that I’m using to host my tools downloads, but it appears to be up and working now. Can you please try the download again and see if it works for you? If it doesn’t work, can you please contact me directly by using and I will email you a copy of the file directly instead?

  3. Jon Nyholt says:

    Thank you! With your help I was able to fix my broken Tablet! I’m not sure what caused it, if it was the .NET SDK or .NET 2.0 Framework I installed but something broke my tablet input panel. I tried to fix it by reinstalling XP SP2 but that made the situation worse and I wasn’t able to install or uninstall SP2 afterwards.

    I struggled with it for two days until I found this blog. Thank you so much for having such a useful site! :o)

  4. Daniel says:

    Dear Aaron, I am having problems with my MCE to run some aspx pages. I am used to XP Pro to test my pages, and now I got this MCE 2005 which I cannot make it to run some codes in the aspx to test the files as I do in the Pro version. It only display some basic pages, and the same file works fine in the XP Pro.

    I have an HP which doesn’t come with the intallating CDs anymore, and I made the recovery disk which contain the I386 folder. When I ran the sysocmgr, from your instructions, it asked for the I386 folder in the windows disk 2, and I could not point to a folder that contains the wished files.

    Any clue in how to solve me problem? I’ve been messing with this computer for over 3 days and I am tired of it and getting crazy now. Thanks for any tips. My email is , Daniel

  5. Hi Daniel – I am not sure what to suggest in your scenario.  When I try the steps listed in this blog post, it gives me a Browse dialog that I can use to browse to the folder that contains the .NET Framework files.  Are you sure that this dialog that asks for the i386 folder does not let you change to a new path?

  6. A while back, I posted this possible workaround for crashes that can happen when trying to launch Xbox…

  7. Nicholas Crawford says:

    Hi, I’ve tried this a couple times, but on step 6, I am not getting asked for a path to install files from. I’ve saved the file in the root directory of c: and am typing this in exactly:

    sysocmgr /i:c:netfx_repair.inf

    When it pulls up the wizard, though, it’s a black checkbox that’s selected, and after clicking next, the wizard disappears without asking for a path to install from. Any thoughts? Thanks!

  8. Details about the .NET Framework 2.0 setup packaging Available command line switches for .NET Framework

  9. Nicholas Crawford says:

    Was there more to that reply?

  10. Hi Nicholas – I looked at this a little more, and there is a registry value that controls where Windows will looks when you run sysocmgr to try to find the source files.  You may want to try to temporarily changes the value of the following registry entry and re-run step 6 and see if that helps in this scenario:



  11. mpowered says:

    I tried the same set of steps, and got the disappearing wizard described by Nicolas Crawford. I went and changed


    back to


    Ran in CMD window:

     sysocmgr /i:netfx_repair.inf

    The component shown has no name:


    [Details] button is disabled.

    I Click [Next].

    Something flashes on the screen, and then the wizard disappears. Nothing new appears in the Event Viewer.

    btw, The value in this key is "D:", same as ServicePackSourcePath. There is no disk in D:, the DVDRW drive.

    Has a fix been found? Should I skip this manual step and run the .Net Framework cleanup tool?


  12. Hi Mpowered – I haven’t heard of a scenario like you describe yet.  If the steps in this post do not work, I’d suggest trying to do a full repair/re-install of your OS instead of just a targeted repair of the .NET Framework 1.0 and see if that helps resolve this issue.

    The .NET Framework 1.0 is a part of the OS on Windows XP Media Center Edition, and because of that the cleanup tool will not allow you to remove it because it would affect OS functionality.  So you will not be able to use the cleanup tool in this scenario.

  13. Drag-vid says:

    Hi, Aaron – I tried your process to repair .NET FRAMEWORK 1.0 on a MCE. I got exactly the same résults as Mpowered. My original problem stems from a recent MS update KB930494 which refuses to install. I can’t get rid of it. Have you given any more thoughts to this problem ?

    Thank you

  14. Hi Drag-vid – I tried the instructions in this blog post on my home system that is running XP Media Center Edition 2005, and I found a couple of steps that were confusing so I’ve updated this blog post with updated steps that will hopefully be more specific.  When I follow the steps as listed in the updated post, it works as expected.  Can you please try using these updated steps and see if you have any better luck here?

    If that doesn’t help, it may be useful to try to install/repair the .NET Framework 1.1 or 2.0 (whichever version you have that is highest on your system) – in many cases in the past, I’ve seen that be helpful in resolving installation issues for .NET Framework 1.0 hotfixes.

    Hopefully one of these helps.

  15. Drag-vid says:

    Hi Aaron _ Thaks for taking your time to reply. I tried your process again. It still doesn’t work. The main issue is that as Mpowered said I had no opportunity to browse. I made sure the CD was online in the drive and that it contained the required .cab file. I’ve removed all .NET software from my system. So, I’ll download 1.1 et re-install it. Do I need it? or should I just go to 2.0 instead ? Is there a flag somewhere that I could clear which says that 1.0 is installed eventhough it’s not

    Thanks again for your help

  16. Hi Drag-vid – I’m not sure why you wouldn’t be getting a browse dialog like I did when I tried this scenario at home.  Sometimes, that will happen if you don’t rename SourcePath and ServicePathSourcePath in the registry prior to running sysocmgr.

    Overall though, the steps in this post are not officially tested/supported, so I can’t guarantee that they’ll work in all configurations.  The most reliable way to re-install the .NET Framework 1.0 on Tablet or Media Center is to repair the OS or the latest OS service pack.

    You don’t necessarily need to install the .NET Framework 1.1 or 2.0, but I was hoping that by doing that, you would fix whatever issue was causing the 1.0 hotfix you are trying to install to fail.  I could also try to help you narrow down the cause of that in case it is helpful – to do that I’d need you to describe the exact error you see when you try to install the 1.0 hotfix, and also see if there is a log in the c:windows directory for that hotfix.  The log should contain the KB number in the name somewhere.

  17. Drag-vid says:

    Hi Aaron,

    I forgot to tell you that I use a french system so you’ll find a few french words in the log files. I translated what I believed to be meaningful

    The error message is meaningless : "The following updates could not be installed" followed by the update description.

    I found the following files in the windows directory. I hope that it’s not too large. I’ll go on to re_install 2.0 as you suggested and get back to you with the results. in two different directories

    KB930494.log : A fairly large file. I extracted some lines that seemed relevant;

    1.015: 2007/08/22 10:03:31.093 (local)

    1.015: C:WINDOWSSoftwareDistributionDownload863bed98bfd46d82037a56d094a9897bupdateupdate.exe (version

    1.015: Failed To Enable SE_SHUTDOWN_PRIVILEGE

    1.062: Hotfix started with following command line: -q /Z /ParentInfo:432e9a91e2c4c343881e5fa821549c59

    17.031: In Function TestVolatileFlag, line 11873, RegOpenKeyEx failed with error 0x2

    17.047: In Function TestVolatileFlag, line 11905, RegOpenKeyEx failed with error 0x2

    17.047: DoInstallation: CleanPFR failed: 0x2

    17.234: SetProductTypes: InfProductBuildType=BuildType.IP

    17.234: SetAltOsLoaderPath: No section uses DirId 65701; done.

    17.453: DoInstallation: FetchSourceURL for c:windowssoftwaredistributiondownload863bed98bfd46d82037a56d094a9897bupdateupdate.inf failed

    17.468: CreateUninstall = 1,Directory = C:WINDOWS$NtUninstallKB930494$

    17.500: LoadFileQueues: UpdSpGetSourceFileLocation for halmacpi.dll failed: 0xe0000102

    17.500: BuildCabinetManifest: update.url absent

    17.500: Starting AnalyzeComponents

    17.500: AnalyzePhaseZero used 0 ticks

    17.500: No c:windowsINFupdtblk.inf file.

    17.500: SetupFindFirstLine in LoadExclusionList Failed with error: 0xe0000102

    17.500: SetupFindFirstLine in LoadExclusionList Failed with error: 0xe0000102

    44.640: C:WINDOWSsystem32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}oem25.CAT trusts inf c:windowsinfoem25.inf of device DOT4PRTVID_03F0&PID_3B11&MI_02&DOT4&PRINT_HPZA&7C8145A&0&1

    44.687: C:WINDOWSsystem32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}oem25.CAT trusts inf c:windowsinfoem25.inf of device DOT4PRTVID_03F0&PID_4811&MI_02&DOT4&PRINT_HPZA&7FF8F04&0&1

    67.750: Third Party Provider = Intel for PCIVEN_8086&DEV_2448&SUBSYS_00000000&REV_E23&B1BFB68&0&F0

             A total of 15 lines as above. The last one being :

    75.093: Third Party Provider = Intel for PCIVEN_8086&DEV_27DA&SUBSYS_C505144D&REV_023&B1BFB68&0&FB

    77.859: Failed to query DriverPath of ROOTLEGACY_AFD000 0x2

             A total of 40 lines as above. The last one being :

    77.875: Failed to query DriverPath of ROOTLEGACY_WANARP000 0x2

    88.375: C:WINDOWSsystem32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}oem14.CAT trusts inf c:windowsinfoem14.inf of device USBVID_0502&PID_15B1E6D200EC-1368-3530-0801-CBBD00479000

    99.859: OEM file scan used 82359 ticks

    100.203: AnalyzePhaseOne: used 82703 ticks

    100.203: AnalyzeComponents: Hotpatch analysis disabled; skipping.

    100.203: AnalyzeComponents: Hotpatching is disabled.

    100.359: AnalyzePhaseTwo used 156 ticks

    100.359: AnalyzePhaseThree used 0 ticks

    100.359: AnalyzePhaseFive used 0 ticks

    101.297: AnalyzePhaseSix used 938 ticks

    101.297: AnalyzeComponents used 83797 ticks

    101.297: Downloading 0 files

    101.297: bPatchMode = FALSE

    101.297: Inventory complete: ReturnStatus=0, 83829 ticks

    101.297: Num Ticks for invent : 83844

    101.297: Allocation size of drive C: is 4096 bytes, free space = 62031609856 bytes

    101.312: AnalyzeDiskUsage:  Skipping EstimateDiskUsageForUninstall.

    101.312: Drive C: free 59157MB req: 5MB w/uninstall: NOT CALCULATED.

    101.312: CabinetBuild complete

    101.312: Num Ticks for Cabinet build : 15

    101.312: DynamicStrings section not defined or empty.

    101.312: Starting process:  c:windowssoftwaredistributiondownload863bed98bfd46d82037a56d094a9897bupdatePreInstall.exe

    101.484:  Return Code = 0

    101.500: FileInUse:: Detection disabled.

    101.500: FileInUse:: Add to list – Service Name: NetFxUpdate_v1.0.3705

    101.500: StopServices: OpenService failed :0x424

    102.547: LoadFileQueues: UpdSpGetSourceFileLocation for halmacpi.dll failed: 0xe0000102

    102.672: Num Ticks for Backup : 1360

    103.109: Num Ticks for creating uninst inf : 437

    103.125: Registering Uninstall Program for -> KB930494, KB930494 , 0x0

    103.125: LoadFileQueues: UpdSpGetSourceFileLocation for halmacpi.dll failed: 0xe0000102

    103.437: System Restore Point set.

    103.593: PFE2: Not avoiding Per File Exceptions.

    103.672: GetCatVersion:  Failed to retrieve version information from C:WINDOWSsystem32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE} with error 0x80092004

    103.672: GetCatVersion:  Failed to retrieve version information from with error 0x80092004

    104.547: Fichier copié :  C:WINDOWSMicrosoft.NETFrameworkv1.0.3705ToGac.exe

    104.718: Fichier copié :  C:WINDOWSMicrosoft.NETFrameworkv1.0.3705SetRegNI.exe

    104.890: Fichier copié :  C:WINDOWSMicrosoft.NETFrameworkv1.0.3705netfxupdate.exe

    105.328: DoInstallation: Installing assemblies with source root path: c:windowssoftwaredistributiondownload863bed98bfd46d82037a56d094a9897b

    105.328: Num Ticks for Copying files : 2219

    105.343: Num Ticks for Reg update and deleting 0 size files : 15

    105.359: Starting process:  C:WINDOWSMicrosoft.NETFrameworkv1.0.3705ToGac.exe C:WINDOWSMicrosoft.NETFrameworkv1.0.3705System.Web.dll

    105.797:  Return Code = 2

    105.797: DoInstallation:RunInfProcesses for ProcessesToRun Failed

    105.797: Le programme d’installation du KB930494 a rencontré une erreur :  Une erreur s’est produite lors de la mise à jour de votre système.

    105.797: CleanupTrustedInfFile: GetFileAttributes for C:WINDOWSsystem32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE} failed: 0x2

    105.812: Une erreur s’est produite lors de la mise à jour de votre système. Cliquez sur ‘OK’ pour annuler toutes les modifications qui ont été effectuées.

    Translation : An error occured while updating your system. Hit "OK" to rollback the update

    105.812: Démarrage du processus :  C:WINDOWS$NtUninstallKB930494$spuninstspuninst.exe /~ -q -z

    108.797: Software Update Rollback has completed successfully.  The original error message was:  0x1


    0.000: ================================================================================

    0.000: 2007/08/22 10:05:16.875 (local)

    0.000: C:WINDOWS$NtUninstallKB930494$spuninstspuninst.exe (version

    0.000: CheckUninstallDataForMultiInstancing:  [Instances] section not found

    0.000: Spuninst.exe was run with the following arguments:  /~ -q -z

    0.000: Spuninst.exe is being run from the following location: C:WINDOWS$NtUninstallKB930494$

    0.000: FileInUse:: ServiceFileInUseDetect value is set as: 0

    0.000: DynamicStrings section not defined or empty.

    0.000: FileInUse:: Add to list – Service Name: NetFxUpdate_v1.0.3705

    1.062: PFE2: Not avoiding Per File Exceptions.


    —- PendingFileRenamOperations Before Uninstallation ——

    1.062: SetAltOsLoaderPath: No section uses DirId 65701; done.

    1.078: Fichier copié : C:WINDOWSmicrosoft.netframeworkv1.0.3705netfxupdate.exe

    1.093: Fichier copié : C:WINDOWSmicrosoft.netframeworkv1.0.3705setregni.exe

    1.125: Fichier copié : C:WINDOWSmicrosoft.netframeworkv1.0.3705togac.exe

    1.140: Starting Registry updates

    1.140: DoRegUninstall:  UpdSpFindFirstLine for Reg.Delete.Values failed: 0xe0000102

    1.156: DoRegUninstall:  UpdSpFindFirstLine for Reg.Restore.Values failed: 0xe0000102

    1.156: DoRegUninstall:  UpdSpFindFirstLine for Reg.Restore.Keys failed: 0xe0000102

    1.156: Done with Registry updates

    1.156: Starting process:  C:WINDOWSMicrosoft.NETFrameworkv1.0.3705ToGac.exe C:WINDOWSMicrosoft.NETFrameworkv1.0.3705System.Web.dll

    1.281:  Return Code = 2

    1.281: UpdateSpUpdSvcInf: Source [ProcessesToRunAfterReboot] section is empty; nothing to do.


    —- PendingFileRenameOperations After Uninstallation ——

    1.812: DeRegistering the Uninstall Program -> KB930494, 0

    1.828: WinMain: DoPostUninstallWrapper failed: 0x578

    1.828: RebootNecessary = 0, DontReboot = 1

  18. Hi Drag-vid – This is the exact error that is causing the install of the hotfix to fail:

    C:WINDOWSMicrosoft.NETFrameworkv1.0.3705ToGac.exe C:WINDOWSMicrosoft.NETFrameworkv1.0.3705System.Web.dll

    What happens if you try to run that same command from a cmd prompt?  Can you let me know what error appears when you do that?  I’m guessing that the file ToGac.exe does not exist on your system, but I’m not positive.

  19. Drag-vid says:

    Hi Aaron,

    The file ToGac.exe is there. I entered the command. Nothing happened.

    The file System.Web.dll is not there. I googled it but could not find a place to download it.

    Also, I installed 2.0. It completed successfully. I followed with Windows Update. Update KB917283, KB922770 and KB930494 did not install ! KB928365 installed OK. I Reboot then I reran update. KB930494 showed up again but not the other two.

    Your tool to verify NET 2.0 showed warnings for quite a number of files which apparently were not at the right version.

    Thank you

  20. Hi Drag-vid – Since one of the .NET Framework 1.0 files (System.Web.dll) is missing, that would explain the error you’re seeing, and it would also mean that this isn’t a type of error that installing a newer version of the .NET Framework will help resolve.

    I’m not sure what to suggest if the repair steps listed above do not work for you.  You might be able to manually extract the contents of from the file in your original OS media and copy the missing ones to c:WindowsMicrosoft.NETFrameworkv1.0.3705, and then try to install the 1.0 hotfixes again and see if they will install correctly.

    If that doesn’t help, I think you will need to repair your OS to restore the .NET Framework 1.0 files that come as part of the OS.

    I’m very sorry for the inconvenience that this issue has caused.

  21. Drag-vid says:

    Thanks Aaron. I’ll try what you suggest. I’d rather not repair my OS if I can avoid it. At this point I’m only bothered by this update coming back every time I boot. My system works, though.

  22. Drag-vid says:

    Hi Aaron,

    I copied the missing netfx files (in fact all of them)with a date code 1.0.3705 to the  …Frameworkv1.0.3705 as you suggested. The 1.0 Hot fixes installed correctly, finally.

    Thank you

  23. luckyb says:

    Hi Aaron,

    I’m getting the same problem with no opportunity to browse as advised in your original solution.  Interestingly, I checked the install log for the Windows Update that is failing.  I am getting return code 1 on the ToGac for the System.Web.dll.  I have both files on my C: drive.  So I’m not having the same problem as drag-vid.  

    When I run that command from the command prompt. I get the following errors:

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


    "C:WINDOWSMicrosoft.NETFrameworkv2.0.50727mscorwks.dll could not be loaded."

    Any suggestions?



  24. Hi Luckyb – I’m sorry for the hassles this issue is causing for you.  I’d suggest verifying that you have the .NET Framework 1.0 registry values that are listed in the blog post at  If any are missing or incorrect, please update them to match the values listed in that post and then try running the ToGac command line again and see if that helps resolve this issue.

    Hopefully this helps!

  25. luckyb says:

    Hi Aaron,

    Your other post about running the .NET Framework Cleanup tool did the trick. I ran that for the 2.0 version fo the framework and then reinstalled the framework.  Updates are running fine now.  Thank you very much for your posts!

  26. Question: I tried to install the .NET Framework 4 beta 1 and Visual Studio 2010 beta 1 on my Windows

  27. yan says:

    how to recover my tablet its framework

  28. Hi yan – I need to know more details about your scenario in order to be able to suggest next steps for you.  What exact version of Windows do you have on your PC, and what exact error message(s) are you seeing currently?