编写NSIS脚本的语言是什么?

saz*_*azr 3 installer nsis

编写NSIS脚本的语言是什么?

它是NSIS自己的语言还是共同语言甚至是大会本身?它看起来非常熟悉大会.我在网站上看了一下,试图找出它是什么语言,但它没有解释它是什么语言.

And*_*ers 6

NSIS用于脚本编写的指令是PHP和程序集之间的交叉.

这就是手册所说的.脚本语言是NSIS独有的,我没有真正看到将它与其他语言进行比较的重点.(NSIS从基本的Winamp插件安装程序演变而来,这里有更多历史记录)

几年前添加了LogicLib,它添加了"高"级别的宏,因此您可以在没有goto的情况下执行基本的If和循环.调用函数和插件仍然需要将参数推送到堆栈asm样式.

该语言基本上有三种类型的指令:

  • 预处理器(定义,包含和宏等),它们以!(!if 1 > 0)开头
  • 属性 /属性:图标,版本信息等
  • 安装/卸载期间执行的指令(说明放在函数和部分中)

安装程序UI由一个或多个页面组成.每个页面都可以根据几个回调函数(Show,Leave等)执行代码,但是大多数指令都是在instfiles页面上执行的(带有进度条和日志窗口的页面)instfiles页面执行所有部分中的代码.一基本上是用来安装人员组织成不同的部分文件和指令的集合.如果安装程序包含组件页面,则会为用户提供一个列表,供他们选择要执行的部分.

完整的指令列表可以在源代码中找到(此列表不包括来自外部包含文件的插件和帮助程序宏)编译器(makensis.exe)验证并压缩这些指令(以及您包含的其他文件)到blob中附加到用C编写的小型GUI应用程序.这个小应用程序解释这些指令......