网站安装打包 软件环境检测与安装[二] 上

这一节主要讲检测,下一节讲安装!

一个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;
        }

打完,收工!

版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
个人微信公众号
创业QQ群:617713515
Donation(扫码支持作者):支付宝:
Donation(扫码支持作者):微信:
原文地址:https://www.cnblogs.com/cyq1162/p/1651366.html