A while back there was a bug in the old browser definition files that shipped with .NET 2 and .NET 4. Fast forward to today and these older ASP.NET’s will mis-detect IE10 and IE11. If you have this, you'll see __doPostBack JavaScript errors in your sites when IE10 or IE11 hit them.
- This whole concept has been long-fixed in ASP.NET 4.5. If you have a .NET 4 app you put .NET 4.5 on it and you're set. We don't sniff like this anymore.
- Two years ago there was a backward-fix to all versions of ASP.NET on all OSs including .NET 2, 3, and 4.
However, I'm still getting email from folks who are seeing this, which means they've got very unpatched installations.
Aside: If you don't have this two year old patch, be sure to check out what other updates your server is missing. Again, rollups like .NET 4.5 and "hotfix rollups" get you the latest in one swoop.
Here’s all the internal details for this fix across every combo of framework and OS if you can’t get .NET 4.5. You may want to run "aspnet_regbrowsers -i" after installing the fix if you're having trouble.
- 2836939 .NET 4 - Win7SP1/Win2K3SP2/Win2K8R2SP1/Win2K8SP2/VistaSP2/WinXPSP3
- 2836940 .NET 3.5 SP1 - Win2K3SP2/Win2K8SP2/VistaSP2/WinXPSP3
- 2836941 .NET 2.0 SP2 - Win2K3SP2/WinXPSP3
- 2836942 .NET 3.5 SP1 - Win7SP1/Win2K8R2SP1
- 2836943 .NET 2.0 SP2 - Win7SP1/Win2K8R2SP1
- 2836945 .NET 2.0 SP2 - Win2K8SP2/VistaSP2
- 2836946 .NET 2.0 SP2 - Win8RTM/WinRTRTM/Win2K12RTM
- 2836947 .NET 3.5 SP1 - Win8RTM/WinRTRTM/Win2K12RTM
You really shouldn’t be "sniffing" browsers, you should check for the existence of features in your browser. There have been a number "mobile browser" files, including one I used 4 years ago.
If you are using a custom browser definition file (and perhaps forgotten about it) you may STILL see a problem with IE10 or IE11 because you've got your own overriding custom browser sniffing regexes in there. Either remove the need for a browser definition file (ideal) or open up your custom file and remote the IE portion.
TL;DR Version
- DO - Keep your Web Servers patched.
- DO - Upgrade to ASP.NET 4.5 if you can.
- DON'T - Use old Custom Browser Definition Files from years ago and expect them to work
- DO - Get newer files from http://51degrees.mobi
- DO - (Last resort) Edit your custom files to remove IE
Hope this helps.
Sponsor: Thanks to Red Gate for sponsoring the feed this week! Check out a simpler way to deploy with Red Gate’s Deployment Manager. It can deploy your .NET apps, services, and databases in a single, repeatable process. Get your free Starter edition now.
© 2013 Scott Hanselman. All rights reserved.