`
tcspecial
  • 浏览: 906580 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

NSIS使用

阅读更多

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 "查看自述文件"		;自述文件单选框

 

 安装效果:

 

 

 

 

 

 

  • 大小: 7.5 KB
  • 大小: 16.2 KB
  • 大小: 8.1 KB
分享到:
评论

相关推荐

    NSIS使用教程档.zip_nsis

    这个“NSIS使用教程档.zip_nsis”压缩包包含了深入学习NSIS的文档,对于想要掌握安装程序制作的人来说是一份非常有价值的资源。 NSIS的核心特点包括: 1. **脚本驱动**:NSIS基于脚本进行安装程序的编写,使用简单...

    NSIS使用教程

    针对初学者,本文将提供一份简明扼要的NSIS使用教程,帮助读者快速上手。 1. **准备工作** - **安装 NSIS**:首先需要从官方网站或其他可信源下载 NSIS 并安装。 - **安装 NIS Edit**:NIS Edit 是一款专为 NSIS ...

    NSIS.rar_NSIS.I_ns_nsis_nsis WEB_SITE ico_nsis使用

    标题中的"NSIS.rar_NSIS.I_ns_nsis_nsis WEB_SITE ico_nsis使用"表明这个压缩包包含了关于NSIS的详细资料,包括可能的教程、图标以及与NSIS官方网站相关的资源。 在描述中提到的“最经典的打包工具软件使用说明,一...

    nsis使用说明和img print的源码

    这份“nsis使用说明”很可能是NSIS的官方用户手册,包含了详细的教程和参考信息,帮助开发者理解和掌握如何使用NSIS进行安装程序的开发。 在描述中提到的“img print”可能是指一个特定的NSIS插件或功能,用于打印...

    NSIS用户手册

    2. **脚本语法**:NSIS使用的是简单易懂的脚本语言,包括变量声明、函数调用、条件语句、循环结构等。手册会详细解释这些语法元素及其用法。 3. **内置命令**:NSIS提供了大量的内置命令,用于控制安装过程,例如`...

    nsis使用教程文档

    NSIS(Nullsoft Scriptable Install System)是一种强大的安装和卸载系统,专为Windows平台设计。它是免费的,以其简洁高效的脚本语法和轻量级的系统占用而著称。NSIS不仅可以创建安装和卸载程序,还可以进行系统...

    软件打包NSIS使用教程

    制作NSIS安装包的过程通常分为两个主要部分:使用向导创建基本安装包和通过修改脚本来个性化安装包。 **一、使用向导制作安装包** 1. 首先,你需要下载并安装NIS Edit和Nullsoft Installation System(NSIS)。 2....

    NSIS+Duilib自定义安装程序

    2. **编写NSIS脚本**:使用NSIS的脚本语言(称为NSIS Scripting Language)编写安装程序的逻辑。脚本中会包含安装程序的各个阶段,如初始化、文件复制、注册表操作、卸载信息等。 3. **设计Duilib界面**:使用...

    NSIS-Unicode.7z NSIS

    - **脚本灵活性**:NSIS使用简单的脚本语法,允许开发者自定义安装过程的每个步骤,包括文件复制、注册表操作、运行脚本等。 - **可定制性**:NSIS支持自定义界面和图标,使安装程序可以体现品牌风格。 - **大小优化...

    nsis插件开发(dll开发)案例

    NSIS(Nullsoft Scriptable Install System)是一款流行的开源安装制作系统,用于创建Windows平台的安装程序。在NSIS中,插件是增强其功能的重要组件,通常以动态链接库(DLL)的形式存在。DLL是一种可执行文件,它...

    nsis-3.0程序打包软件.rar

    2. 编写安装脚本:NSIS使用一种名为NSIS Script的语言,你可以使用任何文本编辑器来编写。脚本中定义了安装程序的行为,包括文件复制、目录创建、注册表操作等。 3. 编译脚本:使用NSIS编译器(makensis.exe)将...

    NSIS+Duilib 自定义安装程序

    1. **NSIS脚本编写**:NSIS使用其特有的脚本语言(NSIS Scripting Language)编写安装逻辑。你需要了解如何定义安装过程中的各个步骤,比如安装目录选择、文件解压、注册表操作等。常见的命令包括`SetOutPath`(设置...

    nsis-3.02.1

    1. **学习脚本语言**:NSIS使用一种称为“Simple INI-based Scripting Language”(简称“SLASH”)的简单脚本语言,开发者需要熟悉其基本语法。 2. **编写安装脚本**:在脚本中定义安装过程,包括文件复制、注册表...

    NSIS图文教程集锦 - 轻狂志 - 20150508

    2. **脚本语法**:NSIS使用一种类似C语言的脚本语法,包括变量定义、函数调用、条件语句和循环结构。了解这些语法元素是编写NSIS脚本的基础。 3. **安装流程**:NSIS安装程序通常包括欢迎页、许可协议、目标位置...

    NSIS 带集成开发环境

    - **脚本语言**:NSIS使用一种基于ANSI C语法的简单脚本语言,称为NSIS脚本语言。开发者通过编写这种脚本来定义安装过程中的所有步骤,包括文件复制、注册表操作、自定义对话框等。 - **向导支持**:集成开发环境...

    NSIS用户手册中文版

    1. **脚本语言**:NSIS使用自己的脚本语言,语法类似于批处理,但更加强大和灵活。主要指令包括`Section`(安装分区)、`SectionIn`(指定安装分区)、`File`(添加文件)、`Exec`(执行外部程序)等。 2. **安装...

    NSIS脚本编辑器

    NSIS脚本编辑器是配合NSIS使用的工具,它为用户提供了编写安装脚本的友好界面,使得程序打包过程变得更加简单和直观。 在NSIS脚本编辑器中,你可以通过编写脚本来控制安装程序的行为,包括但不限于: 1. **界面...

    NSIS.rar_NSIS安装_nsis

    1. **NSIS脚本语言**:NSIS使用其特有的脚本语言编写安装脚本,语法简洁明了。基本结构包括 sections(安装步骤)、functions(函数)和 variables(变量)。通过脚本,开发者可以控制安装过程中的每一步操作,如...

Global site tag (gtag.js) - Google Analytics