NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System)的缩写,它是一个免费的 Win32 安装、卸载系统,采用了简洁高效的脚本方式。它本来是一个由 Nullsoft 创建并用于作为 Winamp 及其插件发布的系统,但现已被上百个应用程序所应用,作为它们进行程序发布的工具。

 

环境搭建

本人使用的是Visual Studio Code推荐使用这个,环境搭建也很简单,第一步去官网下载安装包

下载地址:https://nsis.sourceforge.io/Main_Page 

下载完成后,点击安装即可,安装记得安装路径,完了再VS Code中搜索nsis插件安装。

NSIS怎么制作python安装包_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

按钮和图标可以结合使用,中间用 | 分隔。

具体请看下图的例子:

NSIS怎么制作python安装包_单行注释_02

 

 

具体更详细的内容推荐直接看官方文档资料,十分详细。