如何用.net程序实现检测系统中是否安装了.Net Framework [2.0 或更高版本],如果没有安装,实现自动安装,希望大家帮帮忙!谢谢

解决方案 »

  1.   

    看看这个你就应该改怎么做了http://www.80diy.com/home/20030918/09/2272549.html
      

  2.   


    <!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 = "此计算机有正确版本的 .NET Framework:" + foundVer + "."+ "<br/>"+ "此计算机的 userAgent 字符串为:" + navigator.userAgent + "。";      } else      {result.innerHTML = "此计算机没有正确版本的  .NET Framework。<br/>"+ "<a href='http://msdn.microsoft.com/windowsvista/default.aspx'>单击此处</a> "+ "立即获得 .NET Framework 3.0。<br>"+ "此计算机的 userAgent 字符串为:" + navigator.userAgent + "。";      }    }        ////从用户代理字符串中检索可用版本//并检查它们是否与所需版本相匹配。    //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;    }    ////检查某个特定版本是否为所需版本。    //function CheckVersion(requiredVersion, ver)    {requiredVersion = requiredVersion.split(".");ver = ver.split(".");      //主要版本号必须严格匹配。if (requiredVersion[0] != ver[0])return false;      //次要版本号/版号必须不低于所需版本。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>这个是检测3.0的
      

  3.   

    检查客户端通过分析navigator.userAgent可以获得。
    检查服务器可以通过访问注册表获得。
      

  4.   

    如果电脑上面没有任何版本的.NET框架,你的.NET程序根本不可能执行起来,你怎么谈检测呢?所以最可靠的还是用Win32的技术开发这样的程序好了。