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>

 

  • Thanks heaps for this article, Followed steps 1-4 on a server that had file system corruption due to running out of disk space
    :-O and it fixed .net 1.1 very handy
  • Hi Aaron,

    thanks for the excellent post.

    I've followed your instructions but I still cannot see the ASP.Net extensions in the server mappings in IIS.

    Are there any other suggestions?

    I executed aspnet_regiis against individual applications as well as with the -i option.

    I even upgraded to .Net 2.0. When I tried this, new extensions appeared (such as .compiled, .master etc) but still no sign of aspx, asmx etc!

    Cheers,

    Jim
  • Hi Jimbutler - There is a separate OCM component on Windows Server 2003 that controls ASP.NET IIS settings.  Can you please try to do the following:

    1.  Click on the Start menu, choose Run, type appwiz.cpl and click OK

    2.  Click on the Add/Remove Windows Components button on the left side of the page that appears

    3.  Click on the Application Server item and then click the Details button

    4.  Check the ASP.NET item and click OK

    If ASP.NET was already checked, it may help to uncheck it, click OK to remove it, and then go back and re-check it to add it back.

    Hopefully this helps!
  • Hi Aaron,

    I have to say I didn't expect that to work... but it did! I had tried that before, but not just after the steps above, and it worked!

    Happy days!

    Thanks,

    Jim
  • Take a look at this... and it works!
    http://blogs.msdn.com/astebner/archive/2005/06/21/431385.aspx ...
  • PingBack from http://blogs.msdn.com/astebner/articles/454956.aspx
  • This might sound stupid, but what should be in the assemblylist.txt file. My understanding is that this is a list of assemblies to put into the Global Assembly Cache. What do you need in this file if you are just reinstalling the .Net Framework on Windows 2003.

    Thanks,

    Mark
  • Hi Brutus - The file assemblylist.txt is installed as a part of Windows Server 2003 OS setup.  You should not need to create or modify that file at all in order to repair using the instructions in this blog post.  Are you seeing that file is missing on your system?  If so, the file should contain the following items:

    Microsoft.Vsa.Vb.CodeDOMProcessor.dll
    Microsoft_VsaVb.dll
    Microsoft.Vsa.dll
    Microsoft.VisualBasic.Vsa.dll
    cscompmgd.dll
    Microsoft.JScript.dll
    Microsoft.VisualBasic.dll
    Microsoft.VisualC.dll
    RegCode.dll
    System.EnterpriseServices.dll
    System.Security.dll
    CustomMarshalers.dll
    Accessibility.dll
    System.Configuration.Install.dll
    System.DirectoryServices.dll
    System.Drawing.Design.dll
    System.ServiceProcess.dll
    System.Web.dll
    System.Web.RegularExpressions.dll
    System.Web.Services.dll
    System.Windows.Forms.dll
    System.Xml.dll
    System.Data.dll
    System.Design.dll
    System.Drawing.dll
    System.dll
    System.Messaging.dll
    IEExecRemote.dll
    IEHost.dll
    IIEHost.dll
    ISymWrapper.dll
    mscorcfg.dll
    System.Data.OracleClient.dll
    System.Management.dll
    System.Runtime.Remoting.dll
    System.Runtime.Serialization.Formatters.Soap.dll
    System.Web.Mobile.dll
  • For some reason when doing the re-install I get an error message of "RTE! Program: C:\windows\system32\RunDll32.exe   This application has requested the Runtime to terminate it in an unusual way."

    The error appears right when the status is showing "Completing configuration of netfx". The bar is only 10% along. If I click OK on this  error the program sits for a few minutes and then disappears. I'm not sure if it's actually re-installing correctly.

    Has anyone seen this type of error? Tried repairing .Net 2.0 as well but that didn't work. When I run the cleanup tool only .Net 1.0 and 2.0 are listed... not 1.1.

    This is on a Windows Server 2003 R2 system. Any help would be greatly appreciated.
  • Hi Judas - The .NET Framework 1.1 is installed as part of the OS on Windows Server 2003, so I intentionally made the cleanup tool not allow you to remove it.

    The error you describe is not coming from the .NET Framework setup itself.  There are not any commands that run RunDll32.exe within .NET Framework setup.  I'm not sure exactly which component is causing that error though.  Do you happen to have a screenshot of the error message and the status dialog so I can try to narrow this down a bit further?  If so, you can send them to Aaron.Stebner (at) microsoft (dot) com so I can take a look.
  • Hi Aaron, Searching all over for a solution to my problem brought me to your blog. I see you've been very helpful to a lot of people. My problem is that my system crashed recently and I had to format and reinstall Win 2003. Apparently my CD has developed a few scratches and the file "dotnetfx.cab" in the i386 folder on the CD has become corrupt. Therefore the reinstall did not properly install .NET 1.1. Now, I'm trying to repair the framework. I tried to repair using the .NET 1.1 redistributable, but Win 2003 won't allow that. The redistributable too contains a netfx1.cab file, but its contents appear to be different in name and number from the file on the CD. I tried the method mentioned in your post above, but the repair searches for files within the dotnetfx.cab file, which are corrupted and so it fails. Are there any options for me ? I am wondering if I should try the Removal tool for .NET install failures, but it doesn't seem designed for this kind of problem. Thanks in advance for any help. Cerebrus.
  • Hi Cerebrus - If you do not have another Windows Server 2003 CD to get a valid copy of dotnetfx.cab, you will need to find all of the files that were otherwise a part of dotnetfx.cab, and put all of them in a folder.  Then you can browse to that folder you create when you run the steps listed above.  You can find the files by downloading the .NET 1.1 redistributable and running the following:

    dotnetfx.exe /c:"msiexec /a netfx.msi TARGETDIR=c:\temp"

    This will put the files into c:\temp.  There are a few files that are not included in the MSI-based setup but are in the Windows Server 2003 INF-based setup.  You can probably just take those files from the existing Windows Server 2003 build that you have on your system, or from another Windows Server 2003 system.

    Hopefully this will help.  Please contact me using http://blogs.msdn.com/astebner/contact.aspx if you have any trouble getting this to work.

    Also, please note that the cleanup tool will not work here because it does not allow you to remove the version of the .NET Framework that is installed as part of the OS.

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

  • Thank you for your tools.  You have resuced me many times.  Right now, I am having an issue with getting past an SCCM reporting install pre-req.  It states that .NET Framework 1.1 is not installed on the Server 2003 R2 SP2 SQL 2005 SP3 server.  I ran the cleanup tool for all versions of .net and did the re-install for .net 1.1 and I still get the following errors when I run the verifier for 1.1 -

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_diasymreader.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_iehost.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_microsoft.jscript.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_microsoft.vsa.vb.codedomprocessor.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_mscordbi.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_mscorrc.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_mscorsec.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_system.configuration.install.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_system.data.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_system.enterpriseservices.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_VsaVb7rt.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:\WINDOWS\Microsoft.NET\Framework\sbs_wminet_utils.dll is not installed on the system

    any ideas are apprciated.

    thanks!

    Buddy

  • Hi Hmkjr - I'm sorry for the hassles that this issue is causing for you.  The steps I typically suggest for this type of error are listed at http://blogs.msdn.com/astebner/archive/2008/03/07/8108332.aspx.  Could you please try to use those steps to remove all versions of the .NET Framework from your system, then re-install the .NET Framework 1.1 and see if that helps?  Before running .NET Framework 1.1 setup, please use the steps listed at http://blogs.msdn.com/astebner/archive/2005/03/29/help-me-help-you-if-you-have-setup-bugs.aspx to enable verbose logging so that if things still do not work, you will have a verbose log from the installatin process.  If things end up not working again, please zip and post this verbose log to a file server (such as http://skydrive.live.com), then reply back here with a link to the log file so I can download it and take a look to see if I can figure out what is going on with this scenario on your system.

Page 2 of 3 (35 items) 123
Leave a Comment
  • Please add 7 and 5 and type the answer here:
  • Post