这一节主要讲检测,下一节讲安装!
一个C#制作完的工具一运行,一个可以不用检测与安装的就是framework环境了,要是没这东西,也运行不起来。
这里提供几个检测的范围:
一.检测操作系统版本
二.检测IIS版本
三.检测framework版本
四.检测RAR工具是否安装
以下为具体实现:
一.检测操作系统版本:
我们通过:System.Environment.OSVersion.Version 可以获取到操作系统的版本。
之后,我们要根据版本号,进行if else if或switch之类的分支判断即可:
代码
public static string GetOSystemName()
{
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的版本
代码
public static string GetIISVerstion()
{
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盘路径:
代码
public static bool IsFileExistsByCDE(string path)
{
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;
}
打完,收工!