這一節主要講檢測,下一節講安裝!
一個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;
}
打完,收工!