InstallScript之系统变量SYSINFO
来源:互联网 发布:windows xp声卡驱动 编辑:程序博客网 时间:2024/05/01 13:14
SYSINFO
安装程序初始化期间,安装将设置SYSINFO结构变量的成员以标识目标计算机的操作平台。通过检查分配给此变量成员的值,脚本可以确定以下信息:
•
操作系统
•
操作系统的主要版本号和次要版本号
•
操作系统的颠覆
•
Internet Explorer的版本
•
最新的安装的服务包
•
如果最终用户在Windows NT下具有管理员权限
•
如果最终用户是高级用户
•
如果系统是64位的
•
如果系统是虚拟机
•
系统语言的语言ID,用户语言和操作系统语言
下表显示了每个SYSINFO成员的含义:
会员
含义
SYSINFO.bIntel
如果为TRUE,则处理器为Intel。
SYSINFO.bIsVirtualMachine
如果为TRUE,则检测到虚拟机。
有关更多信息,请参阅检测是否正在虚拟机上运行安装。
SYSINFO.bIsWow64
如果安装在64位平台上运行,则此值不为零。
SYSINFO.bShellExplorer
如果为TRUE,则shell为资源管理器。
SYSINFO.bWinServer2003R2
如果此成员为TRUE,则操作系统是Windows Server 2003 R2。
SYSINFO.nISOSL
值表示目标机器的操作系统。可能的值如下:
•
ISOSL_WIN2000 - Windows 2000
•
ISOSL_WINXP - Windows XP版
•
ISOSL_WINSERVER2003 - Windows Server 2003
•
ISOSL_WINVISTA_SERVER2008(或ISOSL_WINVISTA) -注意Windows Vista和Windows Server 2008使用相同的主版本号和次版本号。因此,如果要使用InstallScript来区分Windows Server 2008和Windows Vista,请检查SYSINFO.nOSProductType = VER_NT_WORKSTATION; 对于Windows Vista,这是TRUE; 对于Windows Server 2008,它是FALSE。
•
ISOSL_WIN7_SERVER2008R2 - Windows 7或Windows Server 2008 R2
•
ISOSL_WIN8 - Windows 8或Windows Server 2012
注意:多个客户端和服务器版本的Windows使用相同的主版本号和次版本号:
•
Windows 8和Windows Server 2012使用相同的主要和次要版本号。
•
Windows 7和Windows Server 2008 R2使用相同的主版本号和次版本号。
•
Windows Vista和Windows Server 2008具有相同的主版本号和次版本号。
因此,对于这些操作系统版本,安装将客户端版本视为与等效服务器版本相同; 因此,标记为客户端版本的组件也安装在服务器版本上。要区分客户端和服务器版本,可以检查SYSINFO.nOSProductType是否等于VER_NT_WORKSTATION; 在客户端版本上,这是真的。在服务器版本上,这是错误的。
SYSINFO.nOSMajor
值表示操作系统的主要版本号。
SYSINFO.nOSMinor
值表示操作系统的主要版本号。
SYSINFO.nOSProductType
值表示为当前平台定义的Windows OSVERSIONINFOEX结构的wProductType。可能的值如下:
•
VER_NT_WORKSTATION
•
VER_NT_DOMAIN_CONTROLLER
•
VER_NT_SERVER
您也可以#定义并测试wProduct类型支持的任何其他常量。OSVERSIONINFOEX结构记录在http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp。
SYSINFO.nOSSuiteMask
值表示为当前平台定义的Windows OSVERSIONINFOEX结构的wSuitesMask。可能的值如下:
•
VER_SUITE_BACKOFFICE
•
VER_SUITE_DATACENTER
•
VER_SUITE_ENTERPRISE
•
VER_SUITE_PERSONAL
•
VER_SUITE_SMALLBUSINESS
•
VER_SUITE_SMALLBUSINESS_RESTRICTED
•
VER_SUITE_TERMINAL
你也可以#定义和测试wSuiteMask支持的任何其他常量。OSVERSIONINFOEX结构记录在http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp。
SYSINFO.nSuites
一个或多个位标志的组合,指示目标机器上的一个或多个套件。可能的位标志如下:
•
ISOS_ST_ALL
•
ISOS_ST_XP_PRO
•
ISOS_ST_XP_HOME
•
ISOS_ST_SERVER
•
ISOS_ST_SERVER2003_R2
•
ISOS_ST_WORKSTATION
•
ISOS_ST_BACKOFFICE
•
ISOS_ST_DATACENTER
•
ISOS_ST_ENTERPRISE
•
ISOS_ST_SERVER2003_R2
•
ISOS_ST_SMALLBUSINESS
•
ISOS_ST_SMALLBUSINESS_RESTRICTED
•
ISOS_ST_TERMINAL
•
0(零) -表示目标机器上没有检测到任何套件
要检查是否设置了位标志,请使用按位AND(&)运算符,如下例所示:
如果(SYSINFO.nSuites&ISOS_ST_XP_HOME)那么
/ *执行操作
特定于Windows XP Home Edition。* /
万一;
注意:这里列出的套件是可以在Windows API的OSVERSIONINFOEX数据结构中指定的套件(如http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp所述)。
SYSINFO.nSystemDefaultUILangID
值表示安装的操作系统语言的ID。
SYSINFO.nSystemLangID
值表示系统语言的ID。
SYSINFO.nUserLangID
值表示用户语言的ID。
SYSINFO.nWinMajor
值表示Windows主版本号。
SYSINFO.nWinMinor
值表示Windows次要版本号。
SYSINFO.szInstalledIEVersion
值表示系统上的Internet Explorer版本。该成员受版本4和更高版本的支持。如果安装的版本早于4,则值为空(“”)。
注意:不要依赖这个事实,即对于早于4的版本这个值是空的。相反,特别是对于4或更高版本进行测试,因为将来这个成员变量可以支持检测早于4的Internet Explorer版本。
SYSINFO.WINNT.bAdmin_Logged_On
如果此成员为TRUE,则最终用户将以管理员权限在NT下登录。
SYSINFO.WINNT.bPowerUser_Logged_On
如果该成员为TRUE,则当前用户属于超级用户组。
SYSINFO.WINNT.bWin7_Server2008R2
如果此成员为TRUE,则操作系统是Windows 7或Windows Server 2008 R2。
SYSINFO.WINNT.bWin8
如果此成员为TRUE,则操作系统是Windows 8或Windows Server 2012。
SYSINFO.WINNT.bWinNT
如果此成员为TRUE,则操作系统为Windows NT(包括Windows 2000和Windows XP)。
SYSINFO.WINNT.bWinVista_Server2008
(SYSINFO.WINNT.bWinVista)
如果SYSINFO.WINNT.bWinVista_Server2008或SYSINFO.WINNT.bWinVista为TRUE,则操作系统为Windows Vista或Windows Server 2008。
要区分Windows Server 2008和Windows Vista,请检查SYSINFO.nOSProductType是否等于VER_NT_WORKSTATION; 对于Windows Vista,这是TRUE; 对于Windows Server 2008,它是FALSE。
SYSINFO.WINNT.bWinXP
如果这个成员是TRUE,那么操作系统是Windows XP。
SYSINFO.WINNT.bWin2000
如果这个成员是TRUE,那么操作系统是Windows 2000。
SYSINFO.WINNT.bWinServer2003
如果此成员为TRUE,则操作系统是Windows Server 2003或Windows Server 2003 R2。
SYSINFO.WINNT.nServicePack
已安装的服务包的数量。
安装程序通过调用Windows API GetVersionEx并读取nServicePackMajor值来获取此信息。
SYSINFO成员
例
如果目标系统上的操作系统是Windows XP,则以下代码片段将显示一个消息框。
如果(SYSINFO.WINNT.bWinXP)那么
MessageBox(“在WindowsXP上安装”,INFORMATION);
万一;
来自 <http://helpnet.flexerasoftware.com/installshield19helplib/Subsystems/installshield19langref/helplibrary/LangrefSYSINFO.htm>
- InstallScript之系统变量SYSINFO
- Linux系统调用之sysinfo函数解析
- sysinfo(系统调用)
- InstallScript之判断操作系统
- sysinfo: 获得系统统计信息
- SysInfo
- sysinfo
- sysinfo
- sysinfo.py (获取系统信息)
- 懒人脚本:sysinfo系统运行状态自动收集
- linux获取系统信息(sysinfo函数的使用)
- Installshield 12 中文系列教程 之 Installscript 项目(一)
- Installshield 12 中文系列教程 之 Installscript 项目(二)
- Installshield 12 中文系列教程 之 Installscript 项目(一)
- Installshield 12 中文系列教程 之 Installscript 项目(二)
- mysql变量之系统静态变量、状态变量
- linux sysinfo ()
- man sysinfo
- C 练习实例81-90
- EL表达式
- 20个值得学习的优秀开源框架,应用开发者必备精选
- BCGControlBar本地化(汉化)详解
- run keyword if后面有多个执行语句
- InstallScript之系统变量SYSINFO
- 23种经典设计模式UML类图汇总
- LDA学习
- My Calendar I问题及解法
- 前置基本概念
- Web入门之JDBC连接数据库Servlet+Jsp实现增删改查
- Ubuntu下的Jenkins 持续集成(一)
- Kubernetes学习总结(2)——Kubernetes设计架构
- 手动部署 ceph mon (luminous 版)