The user-agent string that is sent in browser headers is stored in the registry of the server computer, as listed in the following table.
Version | Registry Key |
---|---|
3.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR.3.0.04131.06
Note The build number ( |
2.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 2.0.50727 |
1.1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 1.1.4322 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test for NET Framework 3.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" language="JavaScript">
<!--
var RequiredFXVersion = "3.0.04131.06";
function window::onload()
{
var foundVer = CheckRequiredFXVersion(RequiredFXVersion);
if (foundVer != null)
{
result.innerHTML = "This computer has the correct version of the .NET Framework: " + foundVer + "." + "<br/>"
+ "This computer's userAgent string is: " + navigator.userAgent + ".";
}
else
{
result.innerHTML = "This computer does not have the correct
version of the .NET Framework.<br/>"
+ "<a href='http://msdn.microsoft.com/windowsvista/default.aspx'>Click here</a> "
+ "to get .NET Framework 3.0 now.<br>"
+ "This computer's userAgent string is: " + navigator.userAgent + ".";
}
}
//
// Retrieve available versions from the user agent string
// and check if any of them match the required version.
//
function CheckRequiredFXVersion(requiredVersion)
{
var userAgentString = navigator.userAgent.match(/\.NET CLR[ .][0-9.]+/g);
if (userAgentString != null)
{
var i;
for (i = 0; i < userAgentString.length; ++i)
{
var ver = userAgentString[i].slice(9);
if (CheckVersion(requiredVersion, ver))
return ver;
}
}
return null;
}
//
// Check if a specific version satisfies the version requirement.
//
function CheckVersion(requiredVersion, ver)
{
requiredVersion = requiredVersion.split(".");
ver = ver.split(".");
// Major versions must match exactly.
if (requiredVersion[0] != ver[0])
return false;
// Minor/build numbers must be at least the required version.
var i;
for (i = 1; i < requiredVersion.length && i < ver.length; i++)
{
if (new Number(ver[i]) < new Number(requiredVersion[i]))
return false;
}
return true;
}
-->
</script>
</head>
<body>
<div id="result" />
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test for NET Framework 3.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" language="JavaScript">
<!--
var RequiredFXVersion = "3.0.04131.06";
function window::onload()
{
var foundVer = CheckRequiredFXVersion(RequiredFXVersion);
if (foundVer != null)
{
result.innerHTML = "This computer has the correct version of the .NET Framework: " + foundVer + "." + "<br/>"
+ "This computer's userAgent string is: " + navigator.userAgent + ".";
}
else
{
result.innerHTML = "This computer does not have the correct
version of the .NET Framework.<br/>"
+ "<a href='http://msdn.microsoft.com/windowsvista/default.aspx'>Click here</a> "
+ "to get .NET Framework 3.0 now.<br>"
+ "This computer's userAgent string is: " + navigator.userAgent + ".";
}
}
//
// Retrieve available versions from the user agent string
// and check if any of them match the required version.
//
function CheckRequiredFXVersion(requiredVersion)
{
var userAgentString = navigator.userAgent.match(/\.NET CLR[ .][0-9.]+/g);
if (userAgentString != null)
{
var i;
for (i = 0; i < userAgentString.length; ++i)
{
var ver = userAgentString[i].slice(9);
if (CheckVersion(requiredVersion, ver))
return ver;
}
}
return null;
}
//
// Check if a specific version satisfies the version requirement.
//
function CheckVersion(requiredVersion, ver)
{
requiredVersion = requiredVersion.split(".");
ver = ver.split(".");
// Major versions must match exactly.
if (requiredVersion[0] != ver[0])
return false;
// Minor/build numbers must be at least the required version.
var i;
for (i = 1; i < requiredVersion.length && i < ver.length; i++)
{
if (new Number(ver[i]) < new Number(requiredVersion[i]))
return false;
}
return true;
}
-->
</script>
</head>
<body>
<div id="result" />
</body>
</html>