NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System)的缩写,它是一个免费的 Win32 安装、卸载系统,采用了简洁高效的脚本方式。它本来是一个由 Nullsoft 创建并用于作为 Winamp 及其插件发布的系统,但现已被上百个应用程序所应用,作为它们进行程序发布的工具。
环境搭建
本人使用的是Visual Studio Code推荐使用这个,环境搭建也很简单,第一步去官网下载安装包
下载地址:https://nsis.sourceforge.io/Main_Page
下载完成后,点击安装即可,安装记得安装路径,完了再VS Code中搜索nsis插件安装。
注意是你自己的安装路径,默认是在C:\Program Files (x86)\NSIS\makensis.exe
脚本文件的默认扩展名是 .nsi,头文件为 .nsh。
一个NSIS脚本应该包括安装程序属性和区段、函数。 你也可以使用编译器命令在编译的时候进行指定。
所必需的是 OutFile 指令 (该命令告诉NSIS安装程序输出路径) 和一个 Section 区段。
例子:
OutFile "FirstNSIS.exe"
Section "section_name" section_index_output
# your code here
SectionEnd
OutFile属性指定了安装包的输出文件名,Section、SectionEnd就是一个区段,安装的逻辑就是写在这里。
一个安装脚本至少要包含一个Section区段,相当于是程序的入口。
有一个小细节,如果是有中文的话,编码改为GB2312,否则会乱码。
基本语法
注释
单行注释 使用#或者;,多行注释可以使用C/C++中的注释语法。
例子:
# your code here
# 这是一个单行注释
; 这也是一个单行注释
/*
这是一个多行注释
*/
数据类型
- 数字类型,数字常量可以用十进制、十六进制(0x为前缀)和八进制(0为前缀)表示。
- 字符串,字符串常量可以使用引号引用,转义字符用$符号,例如$\r,$\n,$\t,美元符号为$$。
续行符
当一行内容过长时,可以使用续行符 \ 进行折回,编译器会自动的把下一行接到上一行来作为完整的一行,而不是看作新的行。
调试脚本
下面讲一下,对于调试脚本很有用的两个命令
- DetailPrint
- MessageBox
DetailPrint,用于打印一个自定义信息,语法如下:
DetailPrint "user_message"
MessageBox是一个弹出框提示消息,语法如下:
MessageBox mb_option_list "messagebox_text"
mb_option_list 是一个枚举值,可以有多个,多个之间用 | 分隔。具体值如下:
按钮包括
MB_OK
MB_OKCANCEL
MB_ABORTRETRYIGNORE
MB_RETRYCANCEL
MB_YESNO
MB_YESNOCANCEL
图标包括
MB_ICONEXCLAMATION
MB_ICONINFORMATION
MB_ICONQUESTION
MB_ICONSTOP
按钮和图标可以结合使用,中间用 | 分隔。
具体请看下图的例子:
具体更详细的内容推荐直接看官方文档资料,十分详细。