The only difference is – the second UserAgent string has multiple entries for .NET 3.0.x and .NET 3.5.x. After doing a little research I found out that the culprit is the length of UserAgent string. If it’s over 260 characters – browser version reported incorrectly to the server. To test this I put together a very basic server-side browser detection code:

Bingo. Apparently this happens only for IE7 and below and only for ASP.NET 1.1. Server incorrectly detects browser version and Infragistics controls try to render HTML for a “down level” browser.

If you experience similar problems (one manifestation is that Silverlight applications like video player no longer work) – here is the solution.

Warning! Following steps involve Windows Registry editing. Use on your own risk.

UserAgent string doesn’t need every variations of major version of .NET framework and yet every time you install an update – a string with version gets added. Time to fire up Registry Editor. Run regedit.exe and open following key:

This trims the UserAgent string and fixes the issue. You can go even further, having a .NET 3.5 SP1 means that you have .NET 2.0 installed as well, so if you have it, you can remove string with .NET 2.0 version as well