博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#检验IIS版本、SQL Server版本、SilverLight版本
阅读量:4955 次
发布时间:2019-06-12

本文共 3327 字,大约阅读时间需要 11 分钟。

之前做一个小项目,使用C#检验这些软件的版本,到处找了一些代码,也能作用,记录一下,以防以后用到。

一、检验IIS版本

public static bool checkIIS(string destVersion){            try            {                RegistryKey rk = Registry.LocalMachine;                RegistryKey ver = rk.OpenSubKey(@"SOFTWARE\Microsoft\InetStp");                int majorVersion = Convert.ToInt32(ver.GetValue("majorversion"));                int minorVersion = Convert.ToInt32(ver.GetValue("minorversion"));                Version versionStr = new Version(majorVersion + "." + minorVersion);                if (versionStr >= new Version(destVersion))                    return true;                return false;            }            catch            {                return false;            }}

二、检验SQL Server版本

public static bool checkSQLServer(string destVersion)        {            RegistryKey localKey;            if (Environment.Is64BitOperatingSystem)                localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);            else                localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);            RegistryKey sub = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server");            object keyInst = null;            if (sub != null)                keyInst = sub.GetValue("InstalledInstances");            if (keyInst != null)            {                try                {                    Version SQLVer = null;                    foreach (string str in (string[])keyInst)                    {                        RegistryKey subSQL = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL");                        object keySQL = subSQL.GetValue(str);                        RegistryKey subVer = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server\" + (string)keySQL + @"\Setup");                        object keyVer = subVer.GetValue("Version");                        //get version numer                        SQLVer = new Version((string)keyVer);                    }                    //SQL Version should >= 12.1.4100.1                    Version tagVer = new Version(destVersion);                    if (SQLVer >= tagVer)                    {                        return true;                    }                    else                    {                        return false;                    }                }                catch                {                    return false;                }            }            else                return false;        }

三、检验SilverLight版本

public static bool checkSilverLight(string destVersion)        {            try            {                Version version;                RegistryKey rk = Registry.LocalMachine;                RegistryKey ver = rk.OpenSubKey(@"SOFTWARE\Microsoft\Silverlight");                if (ver == null)                    ver = rk.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Silverlight");                version = new Version(ver.GetValue("Version").ToString());                //version >= 5.1                if (version >= new Version(destVersion))                    return true;                return false;            }            catch            {                return false;            }        }

 

转载于:https://www.cnblogs.com/DM428/p/8676629.html

你可能感兴趣的文章
深入了解Oracle ASM(二):ASM File number 1 文件目录
查看>>
Boosting(提升方法)之AdaBoost
查看>>
链接元素<a>
查看>>
Binding object to winForm controller through VS2010 Designer(通过VS2010设计器将对象绑定到winForm控件上)...
查看>>
Spring Boot实战笔记(二)-- Spring常用配置(Scope、Spring EL和资源调用)
查看>>
第二章:webdriver 控制浏览器窗口大小
查看>>
【动态规划】流水作业调度问题与Johnson法则
查看>>
Python&Selenium&Unittest&BeautifuReport 自动化测试并生成HTML自动化测试报告
查看>>
活现被翻转生命
查看>>
POJ 1228
查看>>
SwaggerUI+SpringMVC——构建RestFul API的可视化界面
查看>>
springmvc怎么在启动时自己执行一个线程
查看>>
流操作的规律
查看>>
Python基础学习15--异常的分类与处理
查看>>
javascript运算符的优先级
查看>>
React + Redux 入门(一):抛开 React 学 Redux
查看>>
13位时间戳和时间格式化转换,工具类
查看>>
vue router-link子级返回父级页面
查看>>
C# 通知机制 IObserver<T> 和 IObservable<T>
查看>>
Code of Conduct by jsFoundation
查看>>