赞
踩
NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS 的脚本语言和通常的编程语言有类似的结构和语法,但它是为安装程序这类应用所设计的。
1、开销小,一个完整功能的安装程序仅需要 34k 的额外开销。
2、支持大多数 Windows 平台,包括:Windows 10,Windows 8,Widows 7,Windows NT,Windows 2000,Windows XP,Windows 2003
3、支持三大压缩算法:ZLib,BZip2, LZMA
.....
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 ;
NSIS的简单语法描述可以参考nsis_百度百科 (baidu.com)
NSIS的详细语法介绍参考帮助文档NSIS Users Manual
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链接页面,是一种基于压缩包的打包方式,比安装向导打包简单。
只需将待打包软件压缩后的路径添加,再简单填写信息就可以生成安装文件。如下:
1、NSIS的软件下载地址:
2、安装向导软件下载地址:
HM NIS Edit download | SourceForge.net
3、说明书地址:
4、更改NSIS已有窗口样式可以使用软件:Resource Hacker,软件的样式如下:
安装向导推荐链接,可以参考任意一个:
如何用NSIS打包程序_bruce135lee的博客-CSDN博客_nsis怎么用
NSIS打包教程_急支糖浆123的博客-CSDN博客_nsis教程
NSI脚本链接:
NSIS教程(1): 基础语法_china_jeffery的博客-CSDN博客_nsis语法
NSIS进阶教程(一)~(五)_乌托邦2号的博客-CSDN博客
nsi脚本语法的最详细的描述见NSI的帮助文档和官网的插件介绍。
NSIS识别的编码是ANSI格式编码,不能识别UTF8编码,故在中文系统下打包出的小语种安装页面,在中文系统下是显示正常的,但是在英文系统下不一定是正常的。
对于小语种需要在英文系统下进行打包,这样才会在外文系统下正常显示。查看系统的编码是否是英文,可以在cmd中输入chcp进行查看,chcp 936是中文,chcp 437是美式英语。即使是英文系统,有可能编码系统是中文,可以使用chcp查看和切换。
多语言ID的链接见:Language Codes (science.co.il)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。