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>


 

Comments (35)

  1. Nektar says:

    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.

  2. Johan Myburgh says:

    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

  3. 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…

  4. Andrew Campbell says:

    Brilliant article.

    It didn’t solve my problem, but it has been stored in the grey matter for future use.

  5. 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?

  6. Diego says:

    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.

  7. A couple of months ago I posted some instructions about how to repair the OCM version of the .NET Framework…

  8. Jay says:

    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!

  9. Mike says:

    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.

  10. 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).

  11. Khalid says:

    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

  12. 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.

  13. Ic0n says:

    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

  14. jimbutler says:

    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

  15. 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!

  16. jimbutler says:

    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

  17. Brutus_ says:

    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

  18. 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

  19. Judas says:

    For some reason when doing the re-install I get an error message of "RTE! Program: C:windowssystem32RunDll32.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.

  20. 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.

  21. Cerebrus says:

    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.

  22. 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.

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

  24. hmkjr says:

    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:WINDOWSMicrosoft.NETFrameworksbs_diasymreader.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_iehost.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_microsoft.jscript.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_microsoft.vsa.vb.codedomprocessor.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_mscordbi.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_mscorrc.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_mscorsec.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_system.configuration.install.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_system.data.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_system.enterpriseservices.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_VsaVb7rt.dll is not installed on the system

    [08/04/09,10:24:53] ****ERROR**** File C:WINDOWSMicrosoft.NETFrameworksbs_wminet_utils.dll is not installed on the system

    any ideas are apprciated.

    thanks!

    Buddy

  25. 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.

  26. mabian says:

    Thanks a lot for this article.

    We’re having serious issues with NET window forms application – they just hang if launched from task scheduler with a user that’s not logged in console – on a production Windows 2003 SP2 server.

    It could be related to the installation of this rollup package, in that the problems started the same day of the installation.

    http://support.microsoft.com/kb/969612

    This is the verify log: http://www.prjteam.com/riservato/nf_fail_log.txt.

    I suppose the failure is because our Windows installation is localized in Italian…

    Before venturing in net framework repair, can somebody check the log and tell if the failure is real or not?

    Thanks,

      Mario

    P.S. Other servers without the patch above fail the verification with the same results…

  27. mabian says:

    Found the error only log:

    ======================================================================

    [03/06/10,18:48:05] Beginning of new SetupVerifier error logging session

    [03/06/10,18:48:05] Activity log file location: C:DOCUME~1TS_USR~1IMPOST~1Temp1setupverifier_main_03-06-10_18.48.05.txt

    [03/06/10,18:48:05] Error log file location: C:DOCUME~1TS_USR~1IMPOST~1Temp1setupverifier_errors_03-06-10_18.48.05.txt

    [03/06/10,18:48:05] Build created on February 20, 2010

    [03/06/10,18:48:05] Detected operating system: Windows Server 2003 (x86)

    [03/06/10,18:48:08] File C:WINDOWSsystem32MUI409mscoreer.dll is not installed on the system

    [03/06/10,18:48:08] File C:WINDOWSMicrosoft.NETFrameworkv1.1.43221033alinkui.dll is not installed on the system

    [03/06/10,18:48:08] File C:WINDOWSMicrosoft.NETFrameworkv1.1.43221033cscompui.dll is not installed on the system

    [03/06/10,18:48:08] File C:WINDOWSMicrosoft.NETFrameworkv1.1.43221033vbc7ui.dll is not installed on the system

    [03/06/10,18:48:08] File C:WINDOWSMicrosoft.NETFrameworkv1.1.43221033Vsavb7rtUI.dll is not installed on the system

    [03/06/10,18:48:08] File C:WINDOWSMicrosoft.NETFrameworkv1.1.4322MUI409mscorsecr.dll is not installed on the system

    [03/06/10,18:48:09] Key: HKLMSOFTWAREMicrosoftNET Framework SetupNDPv1.1.43221033

    Value: SP

    Actual Data: UNABLE TO OPEN REGISTRY KEY

    [03/06/10,18:48:09] Key: HKLMSOFTWAREMicrosoftNET Framework SetupNDPv1.1.43221033

    Value: Install

    Expected Data: 1

    Actual Data: NOT FOUND

    [03/06/10,18:48:09] Verification failed for product .NET Framework 1.1 SP1

  28. Hi Mabian – All of the files and registry values that are being reported as errors in your scenario are English-specific files.  If your version of Windows Server 2003 is non-English, then those errors can be safely ignored and I will need to update the verification tool accordingly.

    If the problems with your application only started happening when you applied KB969612 to your system, then I’d first suggest trying to uninstall that to see if it helps before proceeding to a full repair of the .NET Framework on your system.

  29. Boddu says:

    Hi I have installed .Net 2.0 on top of .Net 1.1 Framework in windows server 2003.

    Now i want to uninstall .Net framework 2.0. What will be impact of uninstalling .Net 2.0 on .Net 1.1

    Whether 1.1 Net framework will properly or not

  30. Hi Boddu – You can safely uninstall the .NET Framework 2.0 and it will not impact the functionality of the .NET Framework 1.1 on your computer.