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 (24)

  1. Adam Schamn says:

    Does Microsoft not test their software?

  2. Just days ago, one of the developers in Ireland contacted me. He was thinking we ought to have a KB article…

  3. michkap says:

    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.

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

  5. Aaron Stebner’s WebLog recently posted an article on how the install of .NET Framework on Windows XP…

  6. As I was researching the bug in .NET Framework 1.0 and 1.1 that is related to regional language settings…

  7. A couple of months ago, I posted a set of debugging instructions for the .NET Framework setup that describes…

  8. Jimmy Neutron says:

    Nope. Still can’t install 1.1 SP 1.

  9. Hi Jimmy – I’m sorry you’re still having trouble getting .NET Framework 1.1 SP1 to install correctly. Could you send me the exact error message you are receiving so I could research this further? Also, you may want to check out the troubleshooting guide I previously published for resolving some .NET 1.1 SP1 errors. You can find it at http://blogs.msdn.com/astebner/archive/2004/11/23/268934.aspx

  10. Geraint says:

    There’s also a problem with installing SQL Server Service Packs on one of the new locales too.

    I’m running XP in Welsh, and the install of SQL SP4 failed (IIRC, an unknown culture error hidden deep in sqlsp.log), and would only run if the ELK was removed first.

  11. dimych says:

    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

  12. I got an email from the .NET Framework setup technical support team today with some more information…

  13. shreya says:

    still i am not able to install .net. changes made in language setting are not reflected after restarting plz help me.

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

  15. I got an email from the .NET Framework setup technical support team today with some more information

  16. A little while back, I wrote a blog post describing an interaction issue between Visual Studio setup

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

  18. En says:

    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 😀

    Thenks,

    En

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

  20. En says:

    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 http://www.microsoft.com

    Try reloading: http://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

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

  22. En says:

    Thanks a lot for your replyes Aaron. (though i cant even open answers.microsoft .. i cant open a damn that contein microsoft 😀 <just to let you know>

    I wish you good luck on your work and life.

    (You can delete my posts if you want couse i think i got a bit out of topic 🙂 )

    Best Regards,

    En