这一节主要讲检测,下一节讲安装!
一个C#制作完的工具一运行,一个可以不用检测与安装的就是framework环境了,要是没这东西,也运行不起来。
这里提供几个检测的范围:
一.检测操作系统版本
二.检测IIS版本
三.检测framework版本
四.检测RAR工具是否安装
以下为具体实现:
一.检测操作系统版本:
我们通过:System.Environment.OSVersion.Version 可以获取到操作系统的版本。
之后,我们要根据版本号,进行if else if或switch之类的分支判断即可:
{
return GetOSystemNameByVersion(System.Environment.OSVersion.Version) + " \r\n " + System.Environment.OSVersion.ServicePack;
}
private static string GetOSystemNameByVersion(Version version)
{
if (version.Major == 5 && version.Minor == 2 )
{
return " Microsoft Windows Server 2003 " ;
}
else if (version.Major == 5 && version.Minor == 1 )
{
return " Microsoft Windows XP " ;
}
else if (version.Major == 5 && version.Minor == 0 )
{
return " Microsoft Windows 2000 " ;
}
else if (version.Major <= 4 )
{
return " Microsoft Windows NT " ;
}
return " 未知 " ;
}
二.检测IIS版本
这里主要是通过注册表进行判断:
我们通过获取:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\INetStp下的
主版本号MajorVersion 和
次版本号MinorVersion 来判断IIS的版本
{
RegistryKey key = Registry.LocalMachine.OpenSubKey( @" SOFTWARE\Microsoft\INetStp " );
if (key == null ) { return "" ; }
return Convert.ToString(key.GetValue( " MajorVersion " )) + " . " + Convert.ToString(key.GetValue( " MinorVersion " ));
}
三.检测framework版本
和检测IIS一样,可以通过注册表检测:
注册表路径:
1.1版本:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322
2.0版本:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727
3.0版本:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup
3.5版本:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5
只要判断注册表节点是否存在即可!代码参考IIS检测。
四.检测RAR工具
这里我是通过检测RAR.exe文件的常见安装路径来判断检测:
常见路径:C:\Program Files\WinRAR\WinRAR.exe
这里同样检测D盘,E盘路径:
{
bool exists = true ;
if ( ! System.IO.File.Exists(path))
{
path = path.Replace( " C: " , " D: " );
if ( ! System.IO.File.Exists(path))
{
path = path.Replace( " D: " , " E: " );
if ( ! System.IO.File.Exists(path))
{
exists = false ;
}
}
}
return exists;
}
打完,收工!
转载于:https://my.oschina.net/secyaher/blog/274270