Procedura: rilevare se è installato .NET Framework 3.5How to: Detect Whether the .NET Framework 3.5 Is Installed

Prima che gli amministratori possono distribuire le applicazioni Windows Presentation Foundation (WPF) in un sistema che ha come destinazione il .NET Framework 3.5.NET Framework 3.5, si deve prima confermare che il .NET Framework 3.5.NET Framework 3.5 runtime è presente.Before administrators can deploy Windows Presentation Foundation (WPF) applications on a system that targets the .NET Framework 3.5.NET Framework 3.5, they must first confirm that the .NET Framework 3.5.NET Framework 3.5 runtime is present. In questo argomento viene fornito uno script HTML/JavaScript che gli amministratori possono utilizzare per determinare se il .NET Framework 3.5.NET Framework 3.5 è presente in un sistema.This topic provides a script written in HTML/JavaScript that administrators can use to determine whether the .NET Framework 3.5.NET Framework 3.5 is present on a system.

Nota

Per ulteriori informazioni sull'installazione, distribuzione e il rilevamento di .NET Framework.NET Framework, vedere installare .NET Framework per sviluppatori.For more detailed information on installing, deploying, and detecting the .NET Framework.NET Framework, see Install the .NET Framework for developers.

EsempioExample

Quando il .NET Framework 3.5.NET Framework 3.5 è installato, il file MSI aggiunge ".NET CLR" e il numero di versione per la stringa agente utente.When the .NET Framework 3.5.NET Framework 3.5 is installed, the MSI adds ".NET CLR" and the version number to the UserAgent string. Nell'esempio seguente viene illustrato uno script incorporato in una semplice pagina HTML.The following example shows a script embedded in a simple HTML page. Lo script cerca nella stringa agente utente per determinare se il .NET Framework 3.5.NET Framework 3.5 sia installato e viene visualizzato un messaggio di stato ai risultati della ricerca.The script searches the UserAgent string to determine whether the .NET Framework 3.5.NET Framework 3.5 is installed, and displays a status message on the results of the search.

Nota

Questo script è progettato per Internet Explorer.This script is designed for Internet Explorer. Altri browser potrebbe non includere informazioni CLR .NET nella stringa agente utente.Other browsers may not include .NET CLR information in the UserAgent string.

<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>  

Se la ricerca per la versione ".NET CLR" ha esito positivo, viene visualizzato il seguente tipo di messaggio di stato:If the search for the ".NET CLR " version is successful, the following type of status message appears:

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).

In caso contrario, viene visualizzato il seguente tipo di messaggio di stato:Otherwise, the following type of status message appears:

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).

Vedere ancheSee Also

Verificare se .NET Framework 3.0 è installatoDetect Whether the .NET Framework 3.0 Is Installed