Aaron Stebner's WebLog

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

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

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

Rate This
  • Comments 35

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>

 

  • A very easy and discoverable procedure! Well not at all.
    This is why I believethat Microsoft should document more of the registry, more of the .exes and .dlls found under windows directory and more of the com components. Have you used the add reference dialog box in Visual Studio. It is a mess. You never know exactly what com component does what. They have this meaningless names and versioning is awful. Eg. you have 6 entry saying Windows Media Player 1.0. And why some components are named Microsoft ..., some other ones do not have the Micorosoft in their names. Let alone the fact that documentation is lacking or found in the SDK which is huge to download.
    Windows Setup procedure should be more transbarent. The whole of Windows should be more transbarent. Like open source oses, I should be able to tweak Windows and know how to change the setup procedure and know exactly what files do what.
  • Nektar,

    take a chill pill

    Read this and then come back all egg-faced:

    http://www.forbes.com/technology/2005/05/26/cz_dl_0526linux.html?partner=rss
  • Admittedly it can be hard to find, but there is some good info available about Windows setup, specifically around customization and unattend installs. I found this downloadable Windows Server 2003 Deployment Kit that looks pretty good on first glance - http://www.microsoft.com/downloads/details.aspx?familyid=aaf0a7a4-71c1-4ee9-b974-66214651a23b&displaylang=en.

    Also, I realize you won't find any specific details like the repair procedure I describe above, and I concede the point about transparency on some level. If it is any consolation, that is exactly why I'm blogging about some of these topics.

    Thank you for reading...
  • Brilliant article.

    It didn't solve my problem, but it has been stored in the grey matter for future use.
  • Hi Andrew - thanks for the feedback. I'm sorry the post didn't solve your problem though. Could you describe your scenario in some more detail and I can try to help?

  • Thank you so much for this info. I was having a problem where every time I opened a C# project in Visual Studio .NET 2003, I got the error message "Visual C# .NET compiler could not be created. Please re-install Visual Studio." By reinstalling the .NET Framework, I was able to get Visual Studio working without a full reinstall.
  • A couple of months ago I posted some instructions about how to repair the OCM version of the .NET Framework...
  • Excellent article!! I had upgraded a production web server to also be a backup domain controller and ASP.NET quit working instantly.

    This article fixed the problem--good work!
  • Hello,

    It still does not correct the problem with Framework 1.1 on Windows 2003.
    When I load a project in 1.1 says "Paramete not Valid" and also all the program using Framework 1.1 do not work correctly.

    I used the procedure mentioned by MS to reinstall the .NET Framework, but it still gives the same error.
  • Hi Mike - It sounds like the repair of the .NET Framework 1.1 might not have worked correctly. Could you try to run the steps listed in this blog post one more time and see if that helps? If not, could you try to run the .NET Framework verification tool located at http://astebner.sts.winisp.net/Tools/netfx_setupverifier.zip to verify the correctness of the .NET Framework 1.1 installation on your system? You can send me the log file that this tool produces if it reports a failure and I can try to take a look (aaronste@microsoft.com).
  • Hi Guys,

    I have installed windows 2003 server. It installed .net framework 2.0 automaticaly. I manually configured it to run ASP.NET applications. My ASP.NET applications are developed using version 1.1. It does not run successfully in v 2.0. I used web user control and access controls thru reference on aspx pages like webusercontrolid:txtUserName.text

    Secondly, I uninstalled v 2.0 and tried to install v 1.1, it does not let me to do so. Please help how can i install v 1.1 on windows 2003 server
  • Hi Khalid - The .NET Framework 1.1 is installed as part of the OS on Windows Server 2003, so you do not need to install it because it is already there.  You do need to enable ASP.NET manually, though.  You can do that by going to Add/Remove Programs, choosing Add/Remove Windows Components, clicking on the Application Server node, choosing Details, and checking ASP.NET.
Page 1 of 3 (35 items) 123
Leave a Comment
  • Please add 4 and 2 and type the answer here:
  • Post