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

时间:2012-05-02 06:35:38

标签: installer nsis

NSIS脚本写成什么语言?

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

2 个答案:

答案 0 :(得分:6)

  

NSIS用于脚本编写的指令是一种交叉   在PHP和汇编之间。

这就是手册所说的。脚本语言是NSIS独有的,我没有真正看到将它与其他语言进行比较的重点。 (NSIS从基本Winamp plugin installer演变而来,更多可用历史here

几年前添加了LogicLib,它添加了“高”级别的宏,因此您可以执行基本的If和循环而不使用goto。调用函数和插件仍然需要将参数推送到堆栈asm样式。

该语言基本上有三种说明:

  • Preprocessor(定义,包含和宏等),以!!if 1 > 0
  • 开头
  • Attributes /属性:图标,版本信息等
  • Instructions在安装/卸载期间执行(说明放在函数和部分中)

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

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

答案 1 :(得分:3)

这是他们自己的'语言'松散地基于汇编程序。

据我所知,它将其编译为本机代码,因此安装程序如此之小:)