![]()
|
InstallShield 2008 ยป InstallScript Language Reference
During setup initialization, InstallShield sets the members of the SYSINFO structure variable to identify the operating platform of the target computer. By inspecting the values assigned to members of this variable, your script can determine the following information:
The following table shows the meaning of each SYSINFO member:
| Member |
Meaning |
|---|---|
| SYSINFO.bIntel |
If TRUE, the processor is Intel. |
| SYSINFO.bIsWow64 |
If the setup is running on a 64-bit platform, this value is non-zero. |
| SYSINFO.bShellExplorer |
If TRUE, the shell is Explorer. |
| SYSINFO.nISOSL |
Value indicates the operating system of the target machine. Possible values are the following:
|
| SYSINFO.nOSMajor |
Value indicates operating system's major version number. |
| SYSINFO.nOSMinor |
Value indicates operating system's major version number. |
| SYSINFO.nOSProductType |
Value indicates the wProductType of the Windows OSVERSIONINFOEX structure as defined for the current platform. Possible values are the following: You can also #define and test for any other constant supported by wProduct Type. The OSVERSIONINFOEX structure is documented at http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp. |
| SYSINFO.nOSSuiteMask |
Value indicates the wSuitesMask of the Windows OSVERSIONINFOEX structure as defined for the current platform. Possible values are the following: You can also #define and test for any other constant supported by wSuiteMask. The OSVERSIONINFOEX structure is documented at http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp. |
| SYSINFO.nSuites |
A combination of one or more bit flags that indicate the suite(s) on the target machine. Possible bit flags are the following: To check whether a bit flag is set, use the bitwise AND (&) operator as in the following example: if (SYSINFO.nSuites & ISOS_ST_XP_HOME) then /* Perform operations that are specific to Windows XP Home Edition. */ endif;
Because of Windows limitations, suites can be detected on only Windows NT 4 SP 6 and later, Windows 2000, and Windows XP and later. The suites listed here are those that can be specified in the Windows API's OSVERSIONINFOEX data structure (as documented at http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp). |
| SYSINFO.nSystemDefaultUILangID |
Value indicates the installed operating system language's ID. |
| SYSINFO.nSystemLangID |
Value indicates the system language's ID. |
| SYSINFO.nUserLangID |
Value indicates the user language's ID. |
| SYSINFO.nWinMajor |
Value indicates Windows major version number. |
| SYSINFO.nWinMinor |
Value indicates Windows minor version number. |
| SYSINFO.szInstalledIEVersion |
Value indicates the Internet Explorer version on the system. This member is supported for versions 4 and later. If the version installed is prior to 4, the value will be . Do not rely on the fact that this value is for versions previous to 4. Instead, test specifically for 4 or later, as in the future this member variable could support detecting IE versions earlier than 4. |
| SYSINFO.WIN9X.bWin9X |
If this member is TRUE, the operating system is Windows 95, 98, or Millennium Edition. |
| SYSINFO.WIN9X.bWin95 |
If this member is TRUE, the operating system is Windows 95. |
| SYSINFO.WIN9X.bWin98 |
If this member is TRUE, the operating system is Windows 98. |
| SYSINFO.WIN9X.bWinMe |
If this member is TRUE, the operating system is Windows ME (Millennium Edition). |
| SYSINFO.WIN9X.bSubversion_A |
If this member is TRUE, the operating system is Windows 95 or 98 Subversion A. Early versions of Windows 95 did not include subversion information. For these operating systems, SYSINFO.WIN9X.bWin95 is non-zero but no SYSINFO.WIN9X.bSubversion_n member is non-zero; in such a case, the operating system is Windows 95 Subversion A. |
| SYSINFO.WIN9X.bSubversion_B |
If this member is TRUE, the operating system is Windows 95 or 98 Subversion B. |
| SYSINFO.WIN9X.bSubversion_C |
If this member is TRUE, the operating system is Windows 95 or 98 Subversion C. |
| SYSINFO.WIN9X.bVersionNotFound |
If this member is TRUE, the operating system subversion was not found for Windows 95 or 98. |
| SYSINFO.WINNT.bAdmin_Logged_On |
If this member is TRUE, the end user is logged on under NT with administator rights. |
| SYSINFO.WINNT.bPowerUser_Logged_On |
If the target operating system is Windows 2000, Windows XP, or later, indicates whether the current user belong to the power user group. In an installation running under Windows NT 4, this value is always FALSE, since Windows NT 4 does not support power users. In an installation running under Windows 95, 98, or Me, this value is always TRUE. |
| SYSINFO.WINNT.bWinNT |
If this member is TRUE, the operating system is Windows NT (includes Windows 2000 and Windows XP). |
| SYSINFO.WINNT.bWinNT4 |
If this member is TRUE, the operating system is Windows NT 4.0. |
| SYSINFO.WINNT.bWinVista |
If this member is TRUE, the operating system is Windows Vista or Windows Server Longhorn. To distinguish between Windows Server Longhorn and Windows Vista, check whether SYSINFO.nOSProductType is equal to VER_NT_WORKSTATION; for Windows Vista, this is TRUE; for Windows Server Longhorn, it is FALSE. |
| SYSINFO.WINNT.bWinXP |
If this member is TRUE, the operating system is Windows XP. |
| SYSINFO.WINNT.bWin2000 |
If this member is TRUE, the operating system is Windows 2000. |
| SYSINFO.WINNT.bWinServer2003 |
If this member is TRUE, the operating system is Windows Server 2003. |
| SYSINFO.WINNT.nServicePack |
The number of the installed service pack on Windows NT, 2000, Windows XP, Windows Server 2003, and any other future operating system (that is, Windows NT 4.0 and later). Note that for Windows 2000 and later, the installation obtains this information by calling the Windows API GerVersionEx and reading the nServicePackMajor value. On systems with platforms earlier than Windows 2000, the installation obtains this information from the appropriate service pack registry location. |
The following code fragment displays a message box if the operating platform on the target system is Windows XP.
if (SYSINFO.WINNT.bWinXP) then
MessageBox("Installing on Windows XP",INFORMATION);
endif;
|
|
Copyright Information | Contact Macrovision |