Comment : détecter si .NET Framework 3.5 est installé
Avant de pouvoir déployer des applications Windows Presentation Foundation (WPF) sur un système ciblant .NET Framework 3.5, les administrateurs doivent d'abord s'assurer de la présence du runtime .NET Framework 3.5. Cette rubrique propose un script écrit en HTML/JavaScript que les administrateurs peuvent utiliser pour déterminer si .NET Framework 3.5 est présent sur un système.
Remarque |
---|
Pour plus d'informations sur l'installation, le déploiement et la détection de .NET Framework, consultez Installation du .NET Framework. |
Exemple
Lorsque .NET Framework 3.5 est installé, le MSI ajoute "CLR .NET" et le numéro de version à la chaîne UserAgent. L'exemple suivant propose un script incorporé dans une page HTML simple. Le script recherche la chaîne UserAgent afin de déterminer si .NET Framework 3.5 est installé et affiche un message d'état sur les résultats de la recherche.
Remarque |
---|
Ce script est conçu pour Internet Explorer.D'autres navigateurs peuvent ne pas inclure les informations du CLR .NET dans la chaîne UserAgent. |
<HTML>
<HEAD>
<TITLE>Test for the .NET Framework 3.5</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
<SCRIPT LANGUAGE="JavaScript">
<!--
var dotNETRuntimeVersion = "3.5.0.0";
function window::onload()
{
if (HasRuntimeVersion(dotNETRuntimeVersion))
{
result.innerText =
"This machine has the correct version of the .NET Framework 3.5."
}
else
{
result.innerText =
"This machine does not have the correct version of the .NET Framework 3.5." +
" The required version is v" + dotNETRuntimeVersion + ".";
}
result.innerText += "\n\nThis machine's userAgent string is: " +
navigator.userAgent + ".";
}
//
// Retrieve the version from the user agent string and
// compare with the specified version.
//
function HasRuntimeVersion(versionToCheck)
{
var userAgentString =
navigator.userAgent.match(/.NET CLR [0-9.]+/g);
if (userAgentString != null)
{
var i;
for (i = 0; i < userAgentString.length; ++i)
{
if (CompareVersions(GetVersion(versionToCheck),
GetVersion(userAgentString[i])) <= 0)
return true;
}
}
return false;
}
//
// Extract the numeric part of the version string.
//
function GetVersion(versionString)
{
var numericString =
versionString.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i);
return numericString.slice(1);
}
//
// Compare the 2 version strings by converting them to numeric format.
//
function CompareVersions(version1, version2)
{
for (i = 0; i < version1.length; ++i)
{
var number1 = new Number(version1[i]);
var number2 = new Number(version2[i]);
if (number1 < number2)
return -1;
if (number1 > number2)
return 1;
}
return 0;
}
-->
</SCRIPT>
</HEAD>
<BODY>
<div id="result" />
</BODY>
</HTML>
Si la recherche de la version "CLR .NET " est fructueuse, un message d'état du type suivant apparaît :
This machine has the correct version of the .NET Framework 3.5.
This machine's userAgent string is: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.0.590; .NET CLR 3.5.20726; MS-RTC LM 8).
Sinon, le type de message d'état suivant apparaît :
This machine does not have the correct version of the .NET Framework 3.5. The required version is v3.5.0.0.
This machine's userAgent string is: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.0.590; MS-RTC LM 8).
Voir aussi
Concepts
Comment : détecter si .NET Framework 3.0 est installé
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Novembre 2010 |
Remarque ajoutée à propos du script et d'Internet Explorer. |
Commentaires client. |