Search code examples
.netbrowscaphttpbrowsercapabilities

How definitions for browser capabilities are updated in .NET Framework?


I want to use HttpBrowserCapabilities in order to gather statistics about the devices used to access a website.

As far as I know, HttpBrowserCapabilities is based on .browser files in %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers directory.

Applications written in other languages, such as PHP, base their browser detection on browscap.ini, which makes it easy to update the file when new browsers are released. What about .NET Framework, and more precisely:

  1. Are browser definitions used by .NET Framework updated automatically with Windows Update, without waiting the new major release of .NET Framework?

  2. If not, is there a well-known, automated or semi-automated process I can use to update the definitions?

In short, if tomorrow, a new browser is released, how long would it take for me to be able to detect it, and how manual/automated would be the process?

The best case would be an automatic push of definitions through Windows Update.

The worst case would be to force me to track manually every changes which affect browsers, and to change Web.config (or .browser files) by hand.


Solution

    1. It doesn't need a major release. .NET 4.5.1, for example, updates the browser file to Internet Explorer 11. You can install it, and it will work even if the web is not running in 4.5.1.
    2. There used to be projects like this one, but I don't think there is an active one anymore. I'd be interested, though.

    Further reads that may be helpful are ASP.Net 4.0, JavaScript Not Outputted in IE 11 and __dopostback undefined in IE 11 on windows preview 8.1.