I wish everyone a very happy and prosperous new year 2009. This is my first blog for the year. I hope it really helps. 

Windows Vista and Windows 2008 comes with .NET framework 2.0 installed by default along with the operating system. However it is possible to install the 1.1 framework whenever needed.

I was facing problems installing the .NET framework 1.1 on my Windows server 2008 machine, which I was finally able to get it fixed only after many hours of mine and my colleague’s labor.

Background:

===========

I was getting the following error message whenever I tried installing the framework.

RegSvcs.exe - Common Language Runtime Debugging Services

-----------------------------------------------------------------------------------------

Application has generated an exception that could not be handled.

Process id=xxx(nnn), Thread ID=xxx(nnn).

Click OK to terminate the application.
Click CANCEL to debug the application.

 -----------------------------------------------------------------------------------------

OK       Cancel

-----------------------------------------------------------------------------------------

 

Further looking into the error message, I saw that the setup was always failing while trying to register System.EnterpriseServices.dll. The error log in the %temp% folder showed the following

[XXXX] Message: Microsoft .NET Framework Setup failed.  If this problem continues, contact Product Support Services.

[XXXX] Install.exe returning 1603

I had IIS installed on my machine already and had enabled "IIS Metabase Compatibility". For more information on how to install ASP.NET 1.1 with IIS7 on Vista and Windows 2008, please refer to the following article,

http://learn.iis.net/page.aspx/472/how-to-install-aspnet-11-with-iis7-on-vista-and-windows-2008   

 

Troubleshooting Steps:

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

I am listing out a few troubleshooting steps that will be helpful if you are running into similar issues or you can contact Microsoft Support and we will be able to help you further.

1.     Always look out for the log file created by the setup. Most of the times this is a good guide to tell you what had happened. Also refer to the error message that the setup is throwing and have them documented as well for reference.

2.     It is always advisable to get the verbose logs in case the setup logs are not providing much information.

-       Save the installation package as “C:\dotnetfx.exe”.

-       Run a command prompt as administrator and run the following command
C:\dotnetfx.exe /t:c:\temp /c:"msiexec.exe /i c:\temp\netfx.msi /l*v c:\log.txt"

The log file will be generated as “c:\log.txt”.

3.     Check if you have the higher versions of the framework installed, if yes try uninstalling the higher versions and then try reinstalling them in an order. There are two ways in which the framework could be uninstalled.

a.     From the Add/Remove programs.

Find the program and click on uninstall.

b.    Doing a clean reinstallation of the framework. Please refer to the following articles for more details

When you try to install an update for the .NET Framework 1.0, 1.1, 2.0, 3.0, or 3.5, you may receive Windows Update error code "0x643" or Windows Installer error code "1603"

http://support.microsoft.com/?id=923100

.NET Framework Cleanup Tool User's Guide

http://blogs.msdn.com/astebner/pages/8904493.aspx

Note: The cleanup tool contains logic so that if it is run on an OS version that includes the .NET Framework as an OS component, it will not offer the option to clean it up

4.     Make sure that the DEP is not enabled for all programs and services. Have it enabled for essential Windows programs and services only (Reboot is required after you change this value)

DEP can be accessed from the following path

My Computer à Properties à Advanced system settings à Advanced tab in System Properties à Settings under Performance column à Data Execution Prevention.

You could also use the following commands to reset it to default values. Make sure you run the command prompt as administrator

- To turn off BEP

bcdedit.exe /set {current} nx AlwaysOff

- To reset DEP to the default values

bcdedit.exe /set {current} nx OptIn

You need to reboot the server for the changes to reflect.

5.     Make sure that the “Regional and Language Options” is set to English (United States). In my case it was set to English (India) and changing this fixed the issue for me.

To change this, open “Regional and Language Options” settings from the control panel.

-       Under Formats, change the current format to “English (United States)”.

-       Now move to the Administrative tab and select “Change system locale…” and change it to “English (United States)”.

-       Under Reserved accounts, select “Copy to reserved accounts” and check “System accounts”

Note:

6.     In most of the cases, the Microsoft support engineer fixed the issue by running the Windows Live Onecare safety scanner. The suspect was for Virus/Trojan/some malwares/freewares.

The safety scanner can be accessed from

http://onecare.live.com/site/en-US/default.htm

7.       I found a workaround in one of the internet articles, however I haven’t tried it out. You could give it a try if all the above steps fail. The workaround is to slipstream .NET Framework 1.1 SP1 into .NET Framework 1.1 installer, so that both the .NET Framework and the Service Pack can be installed at the same time.

 

The steps are listed in

http://www.mydigitallife.info/2007/12/27/install-microsoft-net-framework-11-on-windows-vista-fix-regsvcsexe-fails-error/comment-page-1/

 

I hope this helps. If there is anything that I have missed, please feel free to let me know.