How to repair the .NET Framework 1.1 that ships as part of the OS on Windows Server 2003

The .NET Framework 1.1 ships as an OS component on the 32-bit Windows Server 2003 family of operating systems. This .NET Framework component is a hidden, always-installed component with the exception of ASP.NET (which can be found as a selectable item underneath the Application Server item in the Add/Remove Windows Components control panel applet).

I have seen cases where the .NET Framework 1.1 stops working correctly on Windows Server 2003 (often due to bugs in daily builds of the .NET Framework 2.0). In those cases, it is useful to perform a repair to get the .NET Framework 1.1 back to a known good state. However, it can be difficult to figure out how to repair .NET 1.1 in these scenarios because the component is hidden and because there is some specific logic in the setup DLL that installs this component that prevents uninstall and reinstall after OS setup has completed.

In general, you can repair the .NET Framework 1.1 that ships with Windows Server 2003 by re-running OS setup and choosing to repair/reinstall, which will trigger the .NET Framework 1.1 component setup to rerun.

In addition, the following steps can be performed in order to repair the .NET Framework 1.1 on Windows Server 2003 while also avoiding the need to run a full OS reinstall:

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

  2. Create a file named netfx_repair.inf that contains the following text (or download it from here):

    [Version]
    Signature = "$Windows NT$"
    DriverVer=10/01/2002,5.2.3790.0
    [Components]
    netfx=netfxocm.dll,UrtOcmProc,netfxocm.inf,,7

  3. 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.1 component will begin. You will be asked for a path to install the files from if the location listed in the SourcePath value under HKLM\Software\Microsoft\Windows\CurrentVersion\Setup is not accessible or no longer contains the necessary OS source files. If this happens, you will need to point the wizard to the i386 directory of the OS source disk or a network share that contains the files. Keep in mind that if you have a version of Windows Server 2003 with a service pack integrated into it, you will need to use a source location that also includes the service pack.

  4. After the wizard completes installation, you will have to manually rerun a modified command line to install assemblies to the GAC because the command line used by the .NET Framework 1.1 component only works correctly when OS installation is in progress. The command line is the following:

    "%windir%\Microsoft.NET\Framework\v1.1.4322\gacutil.exe" /f /il %windir%\Microsoft.NET\Framework\v1.1.4322\assemblylist.txt

    You should substitute %windir% with the actual Windows directory on your system.

<update date="11/1/2005"> There is a Knowledge Base article that also describes how to troubleshoot .NET Framework 1.1 installation issues on Windows Server 2003 that can be useful in this type of scenarios. You can find it at this location . </update>

<update date="9/29/2008"> Added a note about using source files with integrated service packs if the OS was originally installed with a service pack integrated. </update>