我们有一个用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()方法.
分享到:
相关推荐
标题中的“终于搞定了WINDOWS2008上的英特尔AX200无线网卡 64位驱动WIFI不掉线”表明,用户成功解决了在Windows Server 2008操作系统上,英特尔AX200无线网卡驱动导致的WiFi连接不稳定问题。英特尔AX200是一款高速、...
在Windows 7操作系统中,建立ADSL拨号连接可能对初次使用者来说会显得有些棘手,尤其是对于习惯于Windows XP界面的用户。Windows 7在界面设计和功能布局上进行了较大改动,使得一些传统设置的位置发生了变化。不过,...
在描述中提到的“V1.2”表示这是一个软件或工具的版本号,升级到了第1.2版,通常意味着它可能包含了对之前版本的改进和新功能的添加。在这个特定的版本中,新增了修改“CS-KEY”的功能,"CS-KEY"可能是指客户端密钥...
标签 "tengine-2.3.2 nginx cygwin" 进一步指明了主要的技术元素:Tengine 的版本号,Nginx(因为 Tengine 是基于 Nginx 的),以及编译环境 Cygwin。 压缩包内的文件名列表揭示了 Tengine 运行所需的动态链接库...
注意上面的版本号,Version 10.0 对应 Photoshop CS3,CS2对应 9.0,CS对应8.0,Photoshop 7对应7.0” 上面的资源里就是这样4种版本的,具体意思不懂,大虾可以在评论里帮忙解惑一下。 后续版本应该也就是这样修改...
标题“如何轻松搞定Win7系统的ADSL连接”和描述中提到的是关于在Windows 7操作系统中设置和管理ADSL(Asymmetric Digital Subscriber Line)拨号连接的方法。ADSL是一种广泛用于家庭和小型企业的互联网接入技术,它...
版本号 2.11.3 提供了对 memcached 协议的支持,并允许 Java 开发者在应用中轻松集成 memcached,进行数据缓存。 2. **memcached-win64-1.4.4-14.zip**:这个文件是 memcached 服务器的 Windows 64 位版本。版本号 ...
通过“附件”中的“命令提示符”或者“Windows PowerShell”进入命令行环境。需要注意的是,为了保证命令的有效执行,建议使用管理员权限运行命令提示符。 3. **切换到C盘** 在命令提示符中输入`cd/`并按回车键...
快速 - 您无需担心如何安装配置服务器环境,只需运行双击鼠标运行安装程序,一切就都已搞定。 小巧 - EasyJspRun! 一键搭建集成了Apache、Tomcat、Mysql和JspRun! 论坛程序和数据库,大小不到80MB,一安装即拥有了...
双击“Internet协议版本4(TCP/IPv4)”,设置静态IP地址为192.168.1.1,子网掩码会自动填充,不需要设置网关,DNS服务器保持默认或根据ISP的建议进行配置。同时,如果你不需要使用IPv6,可以取消其前面的复选框。 ...
你完全可行,我们只要2055版中的termsrv.dll替换掉正式版本中的termsrv.dll文件就可搞定它了。 那么我们首先要准备一个2055版SP2中的termsrv.dll文件。 下载地址:http://download.csdn.net/source/2562899 二、...
在Windows 7操作系统中,建立ADSL连接是许多家庭用户和小型办公室常用的方式,以便接入互联网。这篇文档详细介绍了如何创建ADSL拨号连接,并设置系统自动开机联网。以下是具体的步骤和注意事项: 首先,创建ADSL...
6. CASS70.msi:这是一个Windows Installer包,包含了CASS软件的主要安装程序,版本号可能是7.0。 7. ISScript9.Msi:可能是一个脚本安装包,用于驱动安装过程的自定义步骤。 8. Setup.skin:皮肤文件,可能用于...
对于Windows 7,尤其是64位版本,由于较旧的操作系统可能没有内置对USB 3.0及更高版本的支持,因此这些驱动尤其重要。这些驱动通常包含USB主机控制器驱动和USB设备驱动,确保电脑能够识别并运行通过USB连接的各种...
快速 - 您无需担心如何安装配置服务器环境,只需运行双击鼠标运行安装程序,一切就都已搞定。 小巧 - EasyJspRun! 一键搭建集成了Apache、Tomcat、Mysql和JspRun! 论坛程序和数据库,大小不到80MB,一安装即拥有了...
visible_hostname 机器名(随便起) 这么一行,就搞定了。 示例:visible_hostname supersrv #将hostname设置为supersrv 至此,可以保存squid.conf并且退出文本编辑器了,简单的Squid for Windows的配置...
这里的“88.2.9”代表了CEFSharp的版本号,这通常与Google Chrome的内核版本相对应,提供最新的Web渲染和JavaScript执行能力。 “h264”是指一种高效的视频编码标准,全称为High Efficiency Video Coding,也称为...
随手记,理财第一步!源自金蝶,专业又好用。...8、手机、网站、Windows 8版本,多设备一键同步记账;可以帮您把分散在多个手机、网站、电脑上的数据融合在一起,同步操作由您完全控制,不用担心数据隐私。
版本号直接升至4.0。 <br/> 向导视图使用方法:运行Guide.exe(或在程序后加"-guide"参数),软件将在完成时提示是否 在注册表中加入系统启动时运行的选择,这样Ghost系统恢复后即可自动运行,进行 OEM设置...
版本号直接升至4.0。 <br/> 向导视图使用方法:运行Guide.exe(或在程序后加"-guide"参数),软件将在完成时提示是否 在注册表中加入系统启动时运行的选择,这样Ghost系统恢复后即可自动运行,进行 OEM设置...