网站安装打包 软件环境检测与安装[二] 上
2016-11-23 12:02
204 查看
这一节主要讲检测,下一节讲安装!
一个C#制作完的工具一运行,一个可以不用检测与安装的就是framework环境了,要是没这东西,也运行不起来。
这里提供几个检测的范围:
一.检测操作系统版本
二.检测IIS版本
三.检测framework版本
四.检测RAR工具是否安装
以下为具体实现:
一.检测操作系统版本:
我们通过:System.Environment.OSVersion.Version 可以获取到操作系统的版本。
之后,我们要根据版本号,进行if else if或switch之类的分支判断即可:
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
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的版本
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
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盘路径:
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
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;
}
打完,收工!
一个C#制作完的工具一运行,一个可以不用检测与安装的就是framework环境了,要是没这东西,也运行不起来。
这里提供几个检测的范围:
一.检测操作系统版本
二.检测IIS版本
三.检测framework版本
四.检测RAR工具是否安装
以下为具体实现:
一.检测操作系统版本:
我们通过:System.Environment.OSVersion.Version 可以获取到操作系统的版本。
之后,我们要根据版本号,进行if else if或switch之类的分支判断即可:
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
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的版本
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
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盘路径:
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
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;
}
打完,收工!
相关文章推荐
- 网站安装打包 软件环境检测与安装
- 网站安装打包 软件环境检测与安装[二] 上
- 网站安装打包 软件环境检测与安装[二] 下
- 网站安装打包 软件环境检测与安装[二] 下
- 网站安装打包 软件环境检测与安装[二] 下
- 网站安装打包 软件环境检测与安装[二] 上
- vs.net打包程序时设置自动检测环境并安装.net framwork
- inno setup 软件安装包 如何可以自动检测、下载并安装.NET环境
- vs.net打包程序时设置自动检测环境并安装.net framwork[转]
- vs.net打包程序时设置自动检测环境并安装.net framwork
- NSIS打包的软件开启时已安装检测机制
- 怎么打包为ipa格式的软件包以及怎么安装到手机终端上。 (我的开发环境为Xcode6.1.1 )
- vs.net打包(自动检测环境并安装.net framwork)
- vs.net打包(自动检测环境并安装.net framwork)
- vs.net打包自动检测环境并安装.net framework 这个好用,验证了
- myshare 4.linux软件安装与java开发环境搭建&静态网站制作
- WSS3软件与开发环境的安装配置
- 10个在线检测病毒和恶意软件网站
- 用IS6进行ASP软件的打包和自动安装(补充)
- 用InstallShield 进行 ASP 软件的打包和自动安装