1. Set Windows Minimum version requirements
[Setup]: minversion
Format: A.BB,C.DD, here a.bb is the Windows version, C.DD is the Windows NT version.
Default value: 4.0,4.0
Description: This command lets you specify that your software must run the minimum version of Windows or Windows NT, and to prevent your program from running under Windows or Windows NT, specify "0" in one of the minimum versions. The build number and/or Security Service pack level can be included in the version number. If the user system does not fit the minimum version requirement, the installer will appear with an error message and exit.
Segment Judging system version [/b][/align][align=left] Syntax:procedureGetwindowsversionex (varVersion:twindowsversion); [/align] [Align=left] Description: Returns extended information about the version of Windows in a record. [/align] [Align=left] [b] Twindowsversion[/b] Definition: [/align][align=left] twindowsversion =Record[/align] major:cardinal;//Major Version numberminor:cardinal;//Sub-version numberbuild:cardinal;//Build Numberservicepackmajor:cardinal;//Service Pack major version numberservicepackminor:cardinal;//Service Pack Sub-version numberNtplatform:boolean;//true if it is based on NT platformProducttype:byte;//Product type (see below)Suitemask:word;//Installed product components (see below) End; [Align=left] [b] Producttype[/b] Object values can be one of the following values: [/align][align=left] Ver_nt_workstation//represents a non-server version of Windows (for example, workstation, Professional, or Home edition) [/align] Ver_nt_domain_controllerver_nt_server[align=left] (if the user is running Windows the/98/me, or the product type cannot be determined, it can also be zero. ) [/align][align=left] [b]suitemask[/b] object values can be a combination of the following values: [/align][align=left] ver_suite_backoffice[/align] VER_SUITE_B Lade//set up the Windows Server 2003 on the network editionver_suite_datacenter ver_suite_enterprise ver_suite_embeddednt ver_suite_personal//set up in Windows XP, such as Home Editionver_suite_singleuserts ver_suite_smallbusiness ver_suite_smallbusiness_restricted VER_SUITE_TERMINAL[align=left] (in Windows the/98/me and NT4.0, Suitemask is always zero. )[/Align] [Align=left]3example [/align][align=left] The following examples tell you how to install in some versions of Windows and check the service pack level on multiple OS editions. [/Align] [Code] [Code]functionInitializesetup:boolean;varversion:twindowsversion; s:string;beginGetwindowsversionex (Version); //do not accept installation in the Home edition of Windows ifVersion.suitemask andVer_suite_personal <>0 Then beginSuppressiblemsgbox ('This program cannot be installed in the Home edition of Windows. ', Mbcriticalerror, MB_OK, MB_OK); Result:=False; Exit; End; //do not accept installation in a domain controller ifVersion.producttype = Ver_nt_domain_controller Then beginSuppressiblemsgbox ('This program cannot be installed on a domain controller. ', Mbcriticalerror, MB_OK, MB_OK); Result:=False; Exit; End; //in Windows 2000, check SP4 ifVersion.ntplatform and(Version.major=5) and(Version.minor=0) and(Version.servicepackmajor<4) Then beginSuppressiblemsgbox ('When you run Windows 2000, you must install Service Pack 4. ', Mbcriticalerror, MB_OK, MB_OK); Result:=False; Exit; End; //in Windows XP, check the SP2 ifVersion.ntplatform and(Version.major=5) and(Version.minor=1) and(Version.servicepackmajor<2) Then beginSuppressiblemsgbox ('when you run Windows XP, you must install Service Pack 2. ', Mbcriticalerror, MB_OK, MB_OK); Result:=False; Exit; End; Result:=True;End;
Https://zhidao.baidu.com/question/184517203.html
http://www.sgzystudio.cn/forum.php?mod=viewthread&tid=166
Inno Setup determines whether the Windows system version (in fact, Delphi code, can also check the domain controller and the Home Edition)