NSIS使用的脚本指令有点像PHP和汇编语言的混合体。这是手册上的说法。这种脚本语言是NSIS独有的,我不太明白将其与其他语言进行比较的意义。(NSIS起源于基本的Winamp插件安装程序,更多历史信息可在此处找到) 几年前,LogicLib被添加进来,它添加了“高”级别的宏,因此您可以执行基本的if和循环而无需使用goto。调用函数和插件仍需要像汇编一样将参数推入堆栈。该语言基本上有三种类型的指令: 预处理器(定义、包含和宏等),它们以!开头(!if 1 > 0) 属性/属性:图标、版本信息等 安装/卸载期间执行的指令(指令放置在函数和部分内部) 安装程序的用户界面由一个或多个 页面 组成。每个页面都可以基于一些回调函数(Show、Leave 等)执行代码,但大部分指令都是在 instfiles 页面上执行的(一个带有进度条和日志窗口的页面)。instfiles 页面会执行所有章节中的代码。章节 基本上是用于将安装程序组织成不同部分的文件和指令集合。如果安装程序包含组件页面,则用户将获得一个列表,在该列表中他们可以选择要执行哪些章节。完整的指令列表可以在 源代码中 找到(该列表不包括来自外部 include 文件的插件和辅助宏)。编译器(makensis.exe)会验证和压缩这些指令(以及其他您包含的文件),然后将它们附加到用 C 写成的小 GUI 应用程序后面。这个小应用程序会解释这些指令…