http://www.microsoft.com/china/community/article.asp?oBODY=TechZone/TechArticle/TechDoc/deployNETApp&oXSLT=TechZone/TechArticle/TechContent
可能对你有帮助。

解决方案 »

  1.   

    判断注册表:如果存在就认为是已经安装:
    \LocalMachine\software\microsoft\.NetFrameWork下面的
    InstallRoot(=C:\WINDOWS\Microsoft.NET\Framework\)存放安装目录,不同的版本安装在不同的目录下.Policy\v1.0\有版本信息.同时,微软网站
    http://www.microsoft.com/china/community/article.asp?oBODY=TechZone/TechArticle/TechDoc/deployNETApp&oXSLT=TechZone/TechArticle/TechContent
    也有一篇关于使用C++来检测的文章,不过这篇文章在论坛中有些争议,你自己看看.
      

  2.   

    如何获知本机是否安装.net框架
    >查看HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFRAMEWORK
    参看:
    http://expert.csdn.net/Expert/topic/1208/1208470.xml?temp=.290951
    安装目录的信息
    >系统目录\Microsoft.Net\Framework\版本号
    其中版本号你可以从System.Environment.Version.ToString()中得到
      

  3.   

    to:TheAres(班门斧) 如果你是在C#中编程,那么请使用System.Environment来编程,不要用读取注册表或其他办法,因为都不安全.
    比如:Policy\v1.0\
    如果出来2.0了怎么办?另外,也不能通过\LocalMachine\software\microsoft\.NetFrameWork来简单判断是否存在.net framework,因为如果你安装的是版本语言不同,或者安装多语言版本,或者安装了测试版的framework都会遇到一些判断错误。
    最好的办法还是应该结合注册表,目录,以及mscoree.dll的版本来判断。