NSIS使用
NSIS是一款很流行的开源安装程序制作工具,可以通过编写脚本生成功能丰富的安装程序。
一. NSIS语法
语法结构与shell类似,支持函数定义,插件DLL调用,功能非常强大。NSIS脚本包括安装属性(Installer Attributes)和段(Sections)/函数(Functions)。
1.1 安装页
安装页显示,可灵活选择其中几项进行定制:
Page license#许可证页
Page components#组件选择
Page directory#安装目录选择
Page instfiles#安装明细
UninstPage uninstConfirm#卸载确认页
UninstPage instfiles#卸载明细
Var BLA ;变量定义
Section bla
StrCpy $BLA "123" ;设置变量值为"123"
StrCpy $R1 0 ;R0-R9为NSIS提供的寄存器变量,不需要定义
${While} $R1 < 5 ;while循环结构
IntOp $R1 $R1 + 1
DetailPrint $R1
${EndWhile}
SectionEnd
1.2 调用第三方库
NSIS强大之处在于可以很方便的调用第三方库,加之windows api本身就整得很复杂了,调用比较繁琐。数据类型如下:
v - void (generally for return)
i - int (includes char, byte, short, handles, pointers and so on)
l - long & large integer (known as int64)
t - text, string (LPCSTR, pointer to first character)
b - boolean (needs/returns 'true':'false') - by the fact this type is senseless -> usual integer can be used ('0':'1')
k - callback. See Callback section in system.html.
* - pointer specifier
映射System.dll变量为NSISI变量类型
NSIS $0..$9 变为 System.dll r0..r9
NSIS $R0..$R9 变为 System.dll r10..r19
调用形式
System::Call 'YourDllName::YourDllFunction(i, *i, t) i(.r0, r1r1, .r2) .r3'
(i, *i, t) i 函数类型为int,int*和String,返回值为int
(.r0, r1, .r2)输入部分,.r0(输出参数,放入$0)r1r1(输入输出参数,放入$1) .r2(输出参数,放入$2)
.r3 返回值储存至r3
例如:
int CmGetHotSyncExecPath(TCHAR *pPath, int *piSize);
调用:
Function loadDll SetOutPath $TEMP\eInspect ;建立临时目录 File bin\CondMgr.dll ;拷贝Condmgr.dll至临时目录 StrCpy $1 ${NSIS_MAX_STRLEN} ; assign memory to $0 System::Call 'CondMgr::CmGetHotSyncExecPath(t, *i) i(.r0, r1r1).r2' DetailPrint 'Path: "$0"' DetailPrint "Path length: $1" DetailPrint "Return value: $2" System:Free 0 ;卸载dll FunctionEnd
直接填充参数
System::Call 'kernel32::GetCurrentDirectory(i 1024,t .R1)'
二. NSIS Edit
如果安装程序逻辑比较简单,可以直接用NSIS Edit可视化工具来生成脚本代码。
新建脚本:向导,下一步,直到生成安装程序。你会发现默认生成界面比较丑陋,还有NSIS的LOGO,可通过编辑生成*.nsi脚本更换。
安装界面修改:
; MUI Settings 下添加如下两行代码:
; MUI Settings !define MUI_WELCOMEFINISHPAGE_BITMAP "C:\Users\kettas\Desktop\wel.bmp" ;欢迎界面,图片大小为165*298 !define MUI_WELCOMEPAGE_TITLE "\r\n 绿色上网v2.0" ;安装标题 !define MUI_WELCOMEPAGE_TEXT "绿色上网大师,为您和您的家人提供一个健康安全的上网环境。\r\n\r\n 软件汉化:charlotte\r\n\r\n $_CLICK" ;软件描述信息
底部NSIS LOGO修改:
ShowUnInstDetails show 下添加代码:
ShowUnInstDetails show BrandingText " 大地集团出品" ;软件Logo定义
安装自述文件查看:
; Finish page !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt" ;自述文件路径 !define MUI_FINISHPAGE_SHOWREADME_TEXT "查看自述文件" ;自述文件单选框
安装效果:
相关推荐
### NSIS使用详细知识点 NSIS(Nullsoft Scriptable Installation System),中文译为“Nullsoft脚本安装系统”,是一款专为Windows平台设计的开源、免费的安装程序制作工具。其核心优势在于简洁高效的脚本语言,低...
这个“NSIS使用教程档.zip_nsis”压缩包包含了深入学习NSIS的文档,对于想要掌握安装程序制作的人来说是一份非常有价值的资源。 NSIS的核心特点包括: 1. **脚本驱动**:NSIS基于脚本进行安装程序的编写,使用简单...
针对初学者,本文将提供一份简明扼要的NSIS使用教程,帮助读者快速上手。 1. **准备工作** - **安装 NSIS**:首先需要从官方网站或其他可信源下载 NSIS 并安装。 - **安装 NIS Edit**:NIS Edit 是一款专为 NSIS ...
标题中的"NSIS.rar_NSIS.I_ns_nsis_nsis WEB_SITE ico_nsis使用"表明这个压缩包包含了关于NSIS的详细资料,包括可能的教程、图标以及与NSIS官方网站相关的资源。 在描述中提到的“最经典的打包工具软件使用说明,一...
这份“nsis使用说明”很可能是NSIS的官方用户手册,包含了详细的教程和参考信息,帮助开发者理解和掌握如何使用NSIS进行安装程序的开发。 在描述中提到的“img print”可能是指一个特定的NSIS插件或功能,用于打印...
2. **脚本语法**:NSIS使用的是简单易懂的脚本语言,包括变量声明、函数调用、条件语句、循环结构等。手册会详细解释这些语法元素及其用法。 3. **内置命令**:NSIS提供了大量的内置命令,用于控制安装过程,例如`...
NSIS(Nullsoft Scriptable Install System)是一种强大的安装和卸载系统,专为Windows平台设计。它是免费的,以其简洁高效的脚本语法和轻量级的系统占用而著称。NSIS不仅可以创建安装和卸载程序,还可以进行系统...
制作NSIS安装包的过程通常分为两个主要部分:使用向导创建基本安装包和通过修改脚本来个性化安装包。 **一、使用向导制作安装包** 1. 首先,你需要下载并安装NIS Edit和Nullsoft Installation System(NSIS)。 2....
2. **编写NSIS脚本**:使用NSIS的脚本语言(称为NSIS Scripting Language)编写安装程序的逻辑。脚本中会包含安装程序的各个阶段,如初始化、文件复制、注册表操作、卸载信息等。 3. **设计Duilib界面**:使用...
NSIS的使用通常分为两部分:一是通过向导快速生成基本的安装包,二是对生成的脚本进行自定义和优化以满足个性化需求。 **一、利用向导制作安装包** 1. 首先,你需要下载并安装NIS Edit和Nullsoft Installation ...
- **脚本灵活性**:NSIS使用简单的脚本语法,允许开发者自定义安装过程的每个步骤,包括文件复制、注册表操作、运行脚本等。 - **可定制性**:NSIS支持自定义界面和图标,使安装程序可以体现品牌风格。 - **大小优化...
NSIS(Nullsoft Scriptable Install System)是一款流行的开源安装制作系统,用于创建Windows平台的安装程序。在NSIS中,插件是增强其功能的重要组件,通常以动态链接库(DLL)的形式存在。DLL是一种可执行文件,它...
这些插件的使用极大地扩展了NSIS的功能,使其能够处理更为复杂的安装和卸载场景,提高了软件部署的效率和用户体验。 总之,AccessControl.dll和nsProcess.dll是NSIS安装包制作中的重要组件,它们帮助开发者解决了...
2. 编写安装脚本:NSIS使用一种名为NSIS Script的语言,你可以使用任何文本编辑器来编写。脚本中定义了安装程序的行为,包括文件复制、目录创建、注册表操作等。 3. 编译脚本:使用NSIS编译器(makensis.exe)将...
1. **NSIS脚本编写**:NSIS使用其特有的脚本语言(NSIS Scripting Language)编写安装逻辑。你需要了解如何定义安装过程中的各个步骤,比如安装目录选择、文件解压、注册表操作等。常见的命令包括`SetOutPath`(设置...
1. **学习脚本语言**:NSIS使用一种称为“Simple INI-based Scripting Language”(简称“SLASH”)的简单脚本语言,开发者需要熟悉其基本语法。 2. **编写安装脚本**:在脚本中定义安装过程,包括文件复制、注册表...
2. **脚本语法**:NSIS使用一种类似C语言的脚本语法,包括变量定义、函数调用、条件语句和循环结构。了解这些语法元素是编写NSIS脚本的基础。 3. **安装流程**:NSIS安装程序通常包括欢迎页、许可协议、目标位置...
- **脚本语言**:NSIS使用一种基于ANSI C语法的简单脚本语言,称为NSIS脚本语言。开发者通过编写这种脚本来定义安装过程中的所有步骤,包括文件复制、注册表操作、自定义对话框等。 - **向导支持**:集成开发环境...
1. **脚本语言**:NSIS使用自己的脚本语言,语法类似于批处理,但更加强大和灵活。主要指令包括`Section`(安装分区)、`SectionIn`(指定安装分区)、`File`(添加文件)、`Exec`(执行外部程序)等。 2. **安装...
NSIS脚本编辑器是配合NSIS使用的工具,它为用户提供了编写安装脚本的友好界面,使得程序打包过程变得更加简单和直观。 在NSIS脚本编辑器中,你可以通过编写脚本来控制安装程序的行为,包括但不限于: 1. **界面...