다음을 통해 공유


Error installing .NET Framework on Windows XP SP2 caused by language settings

Note - the issue described in this blog post was originally presented as an issue on Windows XP SP2. However, it can also affect .NET Framework 1.0 and 1.1 installation on any OS released after the .NET Framework 1.0 and 1.1 shipped - specifically, I have seen reports of this issue on Windows Vista. The steps listed here are applicable to this type of install failure on other newer OS's like Windows Vista and not just Windows XP SP2.  

I was contacted by a customer last week who could not get the .NET Framework 1.1 to install correctly. It reported an error while registering System.EnterpriseServices.dll just like I describe in this post. In the end, the customer discovered that the system locale of the computer was set to Maltese, and he was able to install the .NET Framework by temporarily changing the system locale back to English.

I did a little research, and found that there is a bug in the .NET Framework that causes it to not work correctly when the default system locale is set to a language that the .NET Framework does not recognize. This bug has been fixed in the .NET Framework 1.0 SP3 and 1.1 SP1. However, this bug causes the initial installation of the .NET Framework to fail and rollback, and you cannot install the service pack without first getting the product installed (unless you use a method like I describe here, which will work but is not "officially" supported).

With the release of Windows XP SP2, Microsoft shipped Enabling Language Kits (ELKs) for 25 new locales (click here for a complete list and a nice description of what features ELKs provide). Because of the bug in the .NET Framework that I described above, if a computer running XP SP2 has the system locale set to one of these 25 new locales, installation of the .NET Framework will fail while trying to register System.EnterpriseServices.dll (which happens to be the first time that managed code gets run during setup and therefore is the first time the bug is hit).

If you are running into this bug on your Windows XP SP2 computer, you can use the following steps to work around this bug in the .NET Framework and get it installed:

  1. From the Start menu, type intl.cpl in the Run box or go to Control Panel and choose the Regional and Language Options item
  2. Click the Advanced tab
  3. Change the language in the dropdown box labeled "Select a language to match the language version of the non-Unicode programs you want to use:" to English (this setting represents the system locale for the computer)
  4. Check the box labeled "Apply all settings to the current user account and to the default user profile"
  5. Click OK
  6. Restart
  7. Install the .NET Framework 1.0 or 1.1
  8. Install .NET Framework 1.0 SP3 or 1.1 SP1
  9. Return to the Regional and Language Options control panel and change the language in the Advanced tab back to the original setting

For reference, here is what the Advanced tab of the Regional and Language Options control panel looks like. This screenshot is from my laptop, where I was able to reproduce the failure to install the .NET Framework by changing my system locale to Welsh (one of the 25 new ELKs included in XP SP2):
 

Regional and Language Options control panel Advanced tab

<update date="7/26/2005> As Michael Kaplan points out, the underlying bug affects both the .NET Framework core setup and the .NET Framework service pack setup. Once a computer has .NET Framework 1.0 + SP3 and/or 1.1 + SP1, the bug will not affect any future .NET Framework service packs. In addition, the bug can happen if your computer has a default user locale set to one of the new ELK languages, not just a default system locale. </update>

<update date="4/17/2008"> Added a note indicating that the issue in this post can affect the .NET Framework 1.0 and 1.1 setup on Windows Vista and not just Windows XP SP2 </update>

Comments

  • Anonymous
    July 24, 2005
    Does Microsoft not test their software?

  • Anonymous
    July 24, 2005
    Just days ago, one of the developers in Ireland contacted me. He was thinking we ought to have a KB article...

  • Anonymous
    July 24, 2005
    Adam, Microsoft does test their software. The service pack actually fixes the bug of the locales that the Framework doex not understand.

    The problem is that the service pack setup calls managed code in the framework that has not yet been updated, so it never gets to install.

  • Anonymous
    July 25, 2005
    Thanks for the additional info Michael. That is a good point - this bug will also prevent you from installing .NET Framework 1.0 service pack 1, 2 or 3 and .NET Framework 1.1 service pack 1. In fact, since the setup wrapper for .NET Framework service packs is written in managed code, the service pack will fail to even launch the setup UI to try to start installing.

    Adam - regarding your testing question, of course we do test software before it ships. This bug turned out to be very tricky because the underlying problem in the .NET Framework was not exposed at the time that it shipped because back then there were not any Enabling Language Kits that were unrecognized by the .NET Framework code. It was only exposed when XP SP2 shipped (which was long after .NET Framework 1.0 and 1.1 shipped). This type of issue will definitely encourage us to re-evaluate test coverage though, because ideally we would like to make sure we "future-proof" our code so that possible future changes do not expose bugs like this.

  • Anonymous
    July 26, 2005
    Aaron Stebner's WebLog recently posted an article on how the install of .NET Framework on Windows XP...

  • Anonymous
    July 27, 2005
    As I was researching the bug in .NET Framework 1.0 and 1.1 that is related to regional language settings...

  • Anonymous
    August 21, 2005
    A couple of months ago, I posted a set of debugging instructions for the .NET Framework setup that describes...

  • Anonymous
    August 26, 2005
    Nope. Still can't install 1.1 SP 1.

  • Anonymous
    August 29, 2005
    The comment has been removed

  • Anonymous
    November 17, 2005
    The comment has been removed

  • Anonymous
    May 17, 2006
    works on russian locale too, even though it's not on the "25 new locales" list, thanks.
    (while "Distributed Transaction..." and DEP methods did not solve the issue)
    nice blog

  • Anonymous
    May 17, 2006
    I got an email from the .NET Framework setup technical support team today with some more information...

  • Anonymous
    June 08, 2006
    still i am not able to install .net. changes made in language setting are not reflected after restarting plz help me.

  • Anonymous
    June 10, 2006
    Hi Shreya - There are some other possible causes of installation errors for the .NET Framework.  I would suggest that you try the uninstall and reinstall steps at http://blogs.msdn.com/astebner/archive/2005/10/11/479928.aspx, and if that doesn't work, please try the other workarounds listed at http://blogs.msdn.com/astebner/archive/2006/01/08/510677.aspx.

    If none of these work, I think your best bet would be to contact Microsoft technical support.  You are entitled to a free support case for setup-related errors with the .NET Framework.

    Hopefully one of the above helps...

  • Anonymous
    November 17, 2006
    I got an email from the .NET Framework setup technical support team today with some more information

  • Anonymous
    March 21, 2007
    A little while back, I wrote a blog post describing an interaction issue between Visual Studio setup

  • Anonymous
    September 13, 2007
    The comment has been removed

  • Anonymous
    July 27, 2008
    PingBack from http://forums.ads4u.in/net-framework-3-x/82415-net-framework-3-5-setup-not-configure-iis-6-0-a.html#post125087

  • Anonymous
    July 27, 2008
    PingBack from http://forums.ads4u.in/net-framework-3-x/82416-how-configure-iis-6-0-net-framework-3-5-a.html#post125856

  • Anonymous
    October 03, 2013
    xp sp2 .. anyone help me ,, i cannot open "microsoft officaly page" due to this i cannot install needed software such as: .NET Framework, essentials security etc.ect. If anyone knows what kind of problem is this help me here :D Thenks, En

  • Anonymous
    October 03, 2013
    Hi En - What exact page are you trying to open (please provide the full URL), and what is the exact error you see when you try to open it?

  • Anonymous
    October 03, 2013
    Hello, when i type this " http://www.microsoft.com/ " , or try to download any software that direct me to microsoft it appears this "Oops! Google Chrome could not find www.microsoft.com Try reloading: www.­microsoft.­com,, . Aslo its the same problem with other browser (mozilla, explorer) (Specifies of system: Microsoft Windows XP                       Professional                        Version 2002                        Service Pack 2 ) The only resolve to this is only "formating PC" ? :/ Regards, En

  • Anonymous
    October 06, 2013
    Hi En - You should be able to resolve this type of problem without reformatting your PC, but this type of issue is outside of my normal areas of expertise, so I'm not sure what to suggest.  It might help to try to clear your browser cache.  If that doesn't help, then I'd suggest posting a question on the Windows XP forums at answers.microsoft.com/en-us.

  • Anonymous
    October 07, 2013
    The comment has been removed