NSIS:使用WinVer.nsh头文件判断操作系统版本

时间:2022-05-21 06:08:59

原文 NSIS:使用WinVer.nsh头文件判断操作系统版本

AtLeastWin<version> 检测是否高于指定版本

IsWin<version> 检测指定版本(唯一限定版本)
AtMostWin<version> 检测是否低于指定版本
<version> 允许的值:
95、98、ME、NT4、2000、XP、2003、Vista、2008、7、2008R2
示例1:
01 name    "使用头文件判断操作系统" 
02 outfile '使用头文件判断操作系统.exe' 
03  
04 !include "MUI.nsh" 
05 !include "WinVer.nsh" 
06 !insertmacro MUI_LANGUAGE "simpchinese" 
07  
08 Section  
09 SectionEnd  
10  
11 Function .onInit  
12 ${If} ${AtLeastWinVista}  
13   MessageBox MB_OK "系统为 Vista 或 Vista 以上系统!" 
14 ${EndIf}  
15  
16 ${If} ${IsWin2000}  
17 ${OrIf} ${IsWinXP}  
18   MessageBox MB_OK "系统为 2000 或 XP!" 
19 ${EndIf}  
20  
21 ${If} ${AtMostWinXP}  
22   MessageBox MB_OK "系统版本为 XP 或更低版本的系统!" 
23 ${EndIf}  
24 FunctionEnd
示例2:
01 name    "使用头文件判断操作系统" 
02 outfile '使用头文件判断操作系统.exe' 
03  
04 !include "MUI.nsh" 
05 !include "WinVer.nsh" 
06 !insertmacro MUI_LANGUAGE "simpchinese" 
07  
08 Section  
09 SectionEnd  
10  
11 Function .onInit  
12 ${Unless} ${ISWinXP}  
13 MessageBox MB_OK "本程序只能安装在 Windows XP 系统上!" 
14 Abort  
15 ${EndIf}  
16 FunctionEnd

最新的WinVer.nsh下载(下载后置于\NSIS\Inclued中):

NSIS:使用WinVer.nsh头文件判断操作系统版本