当前位置:   article > 正文

NSIS打包工具用法介绍与NSIS相关软件下载

nsis打包工具

1、介绍

NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装卸载系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS 的脚本语言和通常的编程语言有类似的结构和语法,但它是为安装程序这类应用所设计的。

2、特点

1、开销小,一个完整功能的安装程序仅需要 34k 的额外开销。

2、支持大多数 Windows 平台,包括:Windows 10,Windows 8,Widows 7,Windows NT,Windows 2000,Windows XP,Windows 2003

3、支持三大压缩算法:ZLib,BZip2, LZMA

.....

3、脚本特点:

nsi脚本框架主要包含:1、安装程序属性,2、程序页面,3、区段,4函数。

1、属性:属性用来定义安装程序的行为和界面风格,这些属性大部分是编译时刻属性,即不能在运行时刻改变。

2、页面:是指安装程序的向导页面。

3、区段:是对应某种安装/卸载选项的处理逻辑,该段代码仅当用户选择相应的选项才被执行。

在区段中可以使用很多指令用来完成诸如解压缩文件、读写注册表、创建目录、创建快捷方式等任务。

4、函数:包含了模块化的安装逻辑,在 nsi 脚本中函数分为两种:用户自定义函数回调函数

用户自定义函数仅当是 Call 指令调用时才被执行。

如果函数体中没有abort语句,则安装程序执行完了用户自定义函数,继续运行 Call 语句和指令。

用户自定义函数的语法如下:

Function <函数名>

# some commands

FunctionEnd

函数的调用则使用以下语法:

Call <函数名>

可见无论是函数的定义还是函数的调用都没有参数传递

通常 nsi 的参数传递是通过堆栈操作 Pop,Push 和 20 个寄存器变量 $0~$9、$R0~$R9 进行的。也可以通过全局变量完成参数传递。

如:Var input ;Var output ;

4、语法:

NSIS的简单语法描述可以参考nsis_百度百科 (baidu.com)

NSIS的详细语法介绍参考帮助文档NSIS Users Manual

 5、打包方式

NSIS打包方式可以使用安装向导、安装脚本、Install based on.ZIP file方法。

1、安装向导:安装向导类有软件操作页面,用户只管一步一步选择对应的选项,就可以自动生成打包脚本。(操作简单)

安装向导的软件页面如下:

2、安装脚本:使用.nsi的脚本控制安装页面,这种方式可以自定义安装页面的布局和样式。(编写较复杂)

安装脚本编写可以使用文本编辑,比较好用的软件NotePad++,下载见Notepad++ - Download (softonic.com)

 安装脚本需要下面软件

             NSIS主页面                                                              Complie NSI scripts运行脚本页面

3、Install based on.ZIP file:上述NSIS主页面的Install based on.ZIP file链接页面,是一种基于压缩包的打包方式,比安装向导打包简单。

只需将待打包软件压缩后的路径添加,再简单填写信息就可以生成安装文件。如下:

6、相关下载

1、NSIS的软件下载地址:

Download - NSIS

2、安装向导软件下载地址:

HM NIS Edit download | SourceForge.net

3、说明书地址:

NSIS Users Manual

4、更改NSIS已有窗口样式可以使用软件:Resource Hacker,软件的样式如下:

 7、推荐连接:

安装向导推荐链接,可以参考任意一个:

如何用NSIS打包程序_bruce135lee的博客-CSDN博客_nsis怎么用  

NSIS打包教程_急支糖浆123的博客-CSDN博客_nsis教程   

NSI脚本链接:

NSIS教程(1): 基础语法_china_jeffery的博客-CSDN博客_nsis语法  

NSIS进阶教程(一)~(五)_乌托邦2号的博客-CSDN博客   

nsi脚本语法的最详细的描述见NSI的帮助文档和官网的插件介绍。

8、注意

NSIS识别的编码是ANSI格式编码,不能识别UTF8编码,故在中文系统下打包出的小语种安装页面,在中文系统下是显示正常的,但是在英文系统下不一定是正常的。

对于小语种需要在英文系统下进行打包,这样才会在外文系统下正常显示。查看系统的编码是否是英文,可以在cmd中输入chcp进行查看,chcp 936是中文,chcp 437是美式英语。即使是英文系统,有可能编码系统是中文,可以使用chcp查看和切换。

多语言ID的链接见:Language Codes (science.co.il)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/112603
推荐阅读
相关标签
  

闽ICP备14008679号