NSIS知识点记录

作者: admin 分类: CAD 发布时间: 2021-01-21 10:48

Nsis检测Windows版本具体实现的三种方式

https://blog.csdn.net/xt2zsun/article/details/79379098

使用最新的3.0.6版本,用了第三种方法

3. 使用Winver.nsh头文件

    Getversion的作者已中止其更新并推荐使用Winver.nsh头文件来判断Windows的版本,Winver.nsh允许的<version>值如下:

95、98、ME、NT4、2000、XP、2003、Vista、2008、7、2008R2、8、2012、8.1、2012R2、10

并支持 AtLeastWin<version> 检测是否高于指定版本和AtMostWin<version> 检测是否低于指定版本。

举例如下:

name    "使用头文件判断操作系统"

outfile '使用头文件判断操作系统.exe'

!include "MUI.nsh"

!include "WinVer.nsh"

!insertmacro MUI_LANGUAGE "simpchinese"

Section

SectionEnd

Function .onInit

${If} ${atleastwin10}

MessageBox MB_OK "系统为 windows 10 系统或更高!"

${EndIf}

FunctionEnd

系统检测的其它脚本:

${If} ${IsWin10}

MessageBox MB_OK "系统为 windows 10 系统!"

${EndIf}

${If} ${IsWinVista}

  MessageBox MB_OK "系统为 Vista !"

${EndIf}

${If} ${IsWin2000}

${OrIf} ${IsWinXP}

  MessageBox MB_OK "系统为 2000 或 XP!"

${EndIf}

${If} ${AtMostWinXP}

  MessageBox MB_OK "系统版本为 XP 或更低版本的系统!"

${EndIf}

       脚本在NSIS 3.03编译通过并且运行正常,结果准确。在低于NSIS 3.0版本中编译,如检测Windows10版本会报错,无法通过。

有些版本的Winver.nsh头文件还可能会与其它的头文件冲突,其表现为在Winver.nsh或相冲突的头文件处高亮显示并报错,

所以最好在NSIS 3.0以上的版本中编译。

       如上所述,在检测Windows版本时,可根据自己手头已有的NSIS编译版本和软件安装需求,选择相应的方式

1.1 代码注释

在nsis中可以使用单行注释,和多行注释,多行注释不支持嵌套。:#,;,/**/

#OutFile "注释.exe"
;Section ""
/*
    MessageBox MB_OK "Hello World!"
SentionEnd
*/

单行就是;,多行就是/*

https://www.cnblogs.com/myall/p/3637759.html

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

标签云