我们有一个用InstallShield制作的安装器, 在vista,Windows7上表现的不好, 存在一些问题.
也因此,我们的客户希望我么做一个"支持的操作系统的判断".
具体到windows这里就是: win2000,xp,WinServer2003这三个版本正常安装, 其他的windows版本则可能存在问题.
Java的System.getProperties()
方法的javadoc上有一个列表,列出了他支持对哪些系统属性的查询.
其中比较有用的是下面这三个.
System.out.println("OS name: " + System.getProperty("os.name"));
System.out.println("OS arch: " + System.getProperty("os.arch"));
System.out.println("OS version: " + System.getProperty("os.version"));
剩下的工作就是解析这些返回值,分别对应什么操作系统了.
msdn上面有这样一个链接:Operating System Version
上面的内容是这样的:
Operating system
Version number
Windows 7 |
6.1 |
Windows Server 2008 R2 |
6.1 |
Windows Server 2008 |
6.0 |
Windows Vista |
6.0 |
Windows Server 2003 R2 |
5.2 |
Windows Server 2003 |
5.2 |
Windows XP |
5.1 |
Windows 2000 |
5.0 |
如果msdn里面写的东西, 100%正确的话, 那么问题到这里也就结束了,
可问题偏偏不是这样......
下面这两个链接是wikipedia上面关于windows的链接:
Microsoft_Windows
Timeline_of_Microsoft_Windows
里面就有一个例外, 64bit的XP的version number是5.2, 跟2003的一样,
wikipedia上面关于这一点的原因是:
Windows_XP_Professional_x64_Edition是在win2003之后开发的, 他使用的codebase是2003的.
也因此, 在使用前述的java代码获得它的os.name时, 得到的也是2003, 而非64位的bit.
不过还好, 我们的代码是对2003与xp一视同仁的, 不用具体区分.
从这一现象可以看出, 微软认为这个事, 不是一个事关紧要的问题.......
另外:
C#里面可以写下面的代码,他得到的信息比java丰富, 有service pack等信息.
OperatingSystem os = Environment.OSVersion;
// Display the value of OperatingSystem.VersionString. By default, this is
// the same value as OperatingSystem.ToString.
Console.WriteLine("This operating system is {0}", os.VersionString);
同时C#里面也有类:System.Version
对他可以直接应用lessThan(), greaterThan()方法.
分享到:
相关推荐
注意上面的版本号,Version 10.0 对应 Photoshop CS3,CS2对应 9.0,CS对应8.0,Photoshop 7对应7.0” 上面的资源里就是这样4种版本的,具体意思不懂,大虾可以在评论里帮忙解惑一下。 后续版本应该也就是这样修改...
快速 - 您无需担心如何安装配置服务器环境,只需运行双击鼠标运行安装程序,一切就都已搞定。 小巧 - EasyJspRun! 一键搭建集成了Apache、Tomcat、Mysql和JspRun! 论坛程序和数据库,大小不到80MB,一安装即拥有了...
你完全可行,我们只要2055版中的termsrv.dll替换掉正式版本中的termsrv.dll文件就可搞定它了。 那么我们首先要准备一个2055版SP2中的termsrv.dll文件。 下载地址:http://download.csdn.net/source/2562899 二、...
快速 - 您无需担心如何安装配置服务器环境,只需运行双击鼠标运行安装程序,一切就都已搞定。 小巧 - EasyJspRun! 一键搭建集成了Apache、Tomcat、Mysql和JspRun! 论坛程序和数据库,大小不到80MB,一安装即拥有了...
visible_hostname 机器名(随便起) 这么一行,就搞定了。 示例:visible_hostname supersrv #将hostname设置为supersrv 至此,可以保存squid.conf并且退出文本编辑器了,简单的Squid for Windows的配置...
随手记,理财第一步!源自金蝶,专业又好用。...8、手机、网站、Windows 8版本,多设备一键同步记账;可以帮您把分散在多个手机、网站、电脑上的数据融合在一起,同步操作由您完全控制,不用担心数据隐私。
版本号直接升至4.0。 <br/> 向导视图使用方法:运行Guide.exe(或在程序后加"-guide"参数),软件将在完成时提示是否 在注册表中加入系统启动时运行的选择,这样Ghost系统恢复后即可自动运行,进行 OEM设置...
版本号直接升至4.0。 <br/> 向导视图使用方法:运行Guide.exe(或在程序后加"-guide"参数),软件将在完成时提示是否 在注册表中加入系统启动时运行的选择,这样Ghost系统恢复后即可自动运行,进行 OEM设置...
双击“Browser”框中的“Properties”项,在右侧窗口标签页栏中就显示出远程客户机的软、硬件配置信息(如图),包括远端时间、Windows版本信息、硬件配置信息、显示适配器信息、环境变量、网络配置信息和客户机所...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...
采用如下命令安装 `selenium`,支持 2.48.0 及以上版本: ```python pip3 install selenium==2.48.0 ``` numpy Pillow opencv 基本用法 1. 将 `config.sample.ini` 文件重命名为 `config0.ini` ,如果需要...
这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切。 2.2、什么是 Subversion Subversion是一个自由/开源版本控制系统,它管理文件和目录可以超越...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...
双击“Browser”框中的“Properties”项,在右侧窗口标签页栏中就显示出远程客户机的软、硬件配置信息(如图),包括远端时间、Windows版本信息、硬件配置信息、显示适配器信息、环境变量、网络配置信息和客户机所...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...
1.修正英文界面版本号显示为2.64的小bug 2.增加繁体中文语言界面 V2.70 1.改进了检测算法,结果更加准确,增强了实用性 2.修正了一些极小的细节问题 3.新增大量国外存储设备识别信息 V2.64 1.修正未分区的移动硬盘...