`

NSIS用户手册

    博客分类:
  • nsis
阅读更多

出处:http://wenku.baidu.com/link?url=aWSWSEkhkdEBMi6OolvkZ7UYM0oi7B-9I50ufUiOwhGKkEC1NmbFE57BWoDAL5CmDNP0XvNV-Rr5OfERAqo-4zs76nPrHBb31Z3761-4k5e

 

NSIS(Nullsoft Scriptable Install System)是一个供程序员使用的、建立Windows installers的工具。它的发布遵守开源许可,且完全免费使用。

 

脚本文件

    要利用NSIS制作安装包,你必须编写NSIS脚本,NSIS脚本是一些简单语法规则的文本。

    NSIS脚本的每一行都是命令。若命令很长,可以用'/'来换行写,类似VC里面写很长的字符串。

例如:

Messagebox MB_OK|MB_ICONINFORMATION /

"This is a sample that shows how to use line breaks for larger commands in NSIS scripts"

如果要在字符串里面加入双引号,可以这样写:$/",或者用单引号代替。

 

    脚本文件的扩展名是nsi,脚本头文件是nsh。可以分成多个头文件来组织脚本文件,用下面的方法来包含头文件:

!include Sections.nsh

 

脚本结构

    脚本文件一般包含“Install Attributes”、“Pages”、“Sections”、“Functions”这几部分。

    Install Attributes,定义了一些常量,如安装文件名、安装路径等。

    Pages,定义授权书页,目录选择页,组件选择页,反安装页等等。

    Sections,把安装进程分成多个阶段来定义,方便操作。

    Functions,定义一些函数,在安装时进行用户交互。

脚本格式

 

Commands

 命令行是这样的形式 'command [parameters]'

 File "myfile"

 

Comments

 以;或#开始的行被认为是注释行,你可以在命令行后放注释,也可以使用c风格的注释。

 ; Comment

 # Comment

 /*

  Comment

  Comment

 */

 File "myfile" ; Comment

如果你需要以;或#作为参数,你应把他们放在引号里面。

 

Plug-ins

 插件调用的方法:'plugin::command[parameters]'

 nsExec::Exec "myfile"

 

Numbers

 作为参数的数值,可以用整数、16进制(以0x开头)、8进制(以0开头)

 颜色值用16位进制表示,但不要0x开头。

 IntCmp 1 0x1

 SetCtrlColors $HWND CCCCCC

 

Strings

 若表示一个带有空格的字符串,应该使用引号

 MessageBox MB_OK "Hi there!"

 Quotes only have the property of containing a parameter if they begin the parameter.引号可以是单引号,双引号,或者后单引号(波浪号下面的)。

 你可以用$/来表明该引号是参数的一部分

 MessageBox MB_OK "I'll be happy"

 MessageBox MB_OK 'And he said to me "Hi there"'

 MessageBox MB_OK `And he said to me "I'll be fucked"`

 MessageBox MB_OK "$/"A quote from a wise man$/" said the wise man"

 在字符串中,$/r,$/n,$/t分别表示回车,换行,制表。

 

Variables

 变量必须以$开头,变量必须先声明才可以使用,且大小写敏感。

 Var MYVAR

 StrCpy $MYVAR "myvalue"

 

Long commands

 若命令行较长需要多行写,你应该使用反斜杠进行换行(类似c++)。

 CreateShortCut "$SMPROGRAMES/NSIS/ZIP2EXE project workspace.lnk" /

  $INSTDIR/source/zip2exe/zip2exe.dsw"

 MessageBox MB_YESNO|MB_ICONQUESTION /

  "Do you want to remove all files in the folder? /

  (If you have anything you created that you want /

  to keep, click No)" /

  IDNO NoRemoveLabel

 

Configuration file

 若"makensis.exe"的目录下有"nsisconf.nsh"这样的文件,则该文件会被默认包含在任何脚本文件中,除非/NOCONFIG编译开关被指定。

变量

        所有的变量都是全局的,可在任何段落和函数中使用。

用户变量

        变量声明用Var命令,变量名可以用大小写字母和数字组合,且大小写敏感。

内置可读写变量

        $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7, $R8, $R9

        这些变量可以当作用户变量使用,但通常用于公用函数和宏定义,你不用声明它们,同样在使用时也不会产生名字冲突。简易你在使用它们时,用栈保存和恢复它们的初始值,这些变量在插件中也是有效的,所以可用于插件交换数据。

        $INSTDIR

        安装目录(可用StrCpy,ReadRegStr,ReadINIStr等函数修改其值,例如,可在.onInit函数中验证安装目录)。

        需注意的是,在卸载代码中,$INSTDIR是卸载程序的目录,而不是在安装程序中指定的$INSTDIR的目录。例如,把卸载程序放在$WINDIR且用户无法移动它到其他位置,在卸载程序中,$INSTDIR和$WINDIR的值相同。若你把卸载放到其他位置,你应该在注册表中(或其他方式)保存安装程序的$INSTDIR,一边在卸载时读取。

        $OUTDIR

        当前输出目录(用SetOutPath设定,用StrCpy,ReadRegStr,ReadINIStr读取)。

        $CMDLINE

        安装程序的命令行。格式如下:

        ※ "full/path to/installer.exe" PARAMETER PARAMETER PARAMETER

        ※ installer.exe PARAMETER PARAMETER PARAMETER

        ※ 要解析PARAMETER,请用附录部分的GetParameters。如果/D=命令开关在命令中指定,它也不会在$CMDLINE中出现。

        $LANGUAGE

        当前使用的语言标识。例如英语是1033,你可在.onInit中改变该变量的值。

常量

        常量也可在InstallDir属性中使用。

        需注意的是,一些新添加的常量不是每个操作系统都拥有,如$CDBURN_AREA只有Windows XP及以上系统才有,而Windows 98没有。

        $PROGRAMFILES

        程序文件默认目录

        $COMMONFILES

        公共文件目录

        $DESKTOP

        Windows桌面目录

        $EXEDIR

        安装文件目录

        ${NSISDIR}

        NSIS安装目录。用于调用NSIS自带的图标、界面元素等资源。

        $WINDIR

        Windows目录。

        $SYSDIR

        Windows system目录

        $TEMP

        系统临时文件目录

        $STARTMENU

        开始菜单位置。

        $SMPROGRAMS

        开始菜单程序目录。

        $SMSTARTUP

        开始菜单启动目录

        $QUICKLAUNCH

        快速启动目录

        $DOCUMENTS

        文档目录。

        $SENDTO

        发送到目录

        $RECENT

        最近的文档目录。

        $FAVORITES

        $MUSIC

        $PICTURES

        $VIDEOS

        $NETHOOD

        $FONTS

        $TEMPLATES

        $APPDATA

        $LOCALAPPDATA

        $PRINTHOOD

        $INTERNET_CACHE

        $COOKIES

        $HISTORY

        $PROFILE

        $ADMINTOOLS

        $RESOURCES

        $RESOURCES_LOCALIZED

        $CDBURN_AREA

        $HWNDPARENT

        父窗口句柄

        $PLUGINSDIR

在字符串中使用常量

        $$      用来代替$

        $/r     表示回车

        $/n     表示换行

        $/t     表示制表

分享到:
评论

相关推荐

    NSIS用户手册(中文版)

    NSIS 用户手册 新闻、信息、支持、例子、指南等可以到 http://nsis.sf.net 查看。 快速链接: FAQ - 常见问题列表 NSIS Wiki - 例子、函数、指南、插件、软件等等 Forum - 发表你的问题或进行 NSIS 相关讨论 版权...

    NSIS用户手册中文版

    **NSIS用户手册中文版** **NSIS**(Nullsoft Scriptable Install System)是一款免费的、开源的安装制作系统,广泛用于创建Windows平台上的安装、卸载程序。它以其强大的脚本语言、灵活的定制性以及高效能而受到...

    NSIS用户手册 中文版

    **NSIS用户手册中文版** 是一份详细的指南,旨在帮助用户理解和使用NSIS(Nullsoft Scriptable Install System)这一开源的Windows安装制作系统。NSIS是一个功能强大的安装制作工具,它允许开发者创建自定义的安装...

    NSIS用户手册.rar_NSIS安装_NSIS用户手册_nsis

    通过阅读NSIS用户手册,无论是初学者还是经验丰富的开发者,都能获得全面的知识,从而制作出高效、可靠且符合用户需求的安装程序。《NSIS用户手册》是NSIS学习的重要资源,对于希望掌握安装程序制作的IT专业人士来说...

    NSIS用户手册 中文版-2020.rar

    《NSIS用户手册 中文版-2020》是NSIS的官方文档的中文翻译版本,为开发者提供了全面且易理解的指南。这个手册对于想要深入学习和使用NSIS的人来说尤其有价值,因为它可以避免因语言障碍而浪费时间去查找和理解英文...

    NSIC.rar_NSIS用户手册_nsis_www.nsis.sf.n

    **NSIS用户手册详解** NSIS(Nullsoft Scriptable Install System)是一款强大的Windows平台下的安装制作软件,它允许用户使用简单的脚本语言创建安装程序。NSIS用户手册是学习和掌握NSIS安装制作过程的重要参考...

    NSIS Users Manual NSIS用户手册

    ### NSIS用户手册知识点概述 #### 一、关于NSIS ...以上是NSIS用户手册的主要知识点概括,NSIS作为一个功能强大且灵活的安装程序制作工具,非常适合那些需要高度自定义安装过程的应用程序开发者使用。

    NSIS用户手册 中文版和NSIS图文教程集锦 - 轻狂志 - 20150508

    本资源包含“NSIS用户手册 中文版”和“NSIS图文教程集锦”,由轻狂志在2015年5月8日整理发布,为学习和使用NSIS提供丰富的参考资料。 《NSIS用户手册 中文版》是NSIS的官方文档的中文翻译版本,详细介绍了NSIS的...

    NSIS中文用户手册

    本中文用户手册详细地介绍了NSIS的各种特性和使用方法,帮助开发者和系统管理员更好地理解和利用这一工具。 第一章:介绍NSIS NSIS是一个功能强大的安装制作系统,它允许用户通过编写脚本来定制安装过程,包括文件...

    NSIS用户手册中文.rar

    在"NSIS用户手册中文.rar"这个压缩包中,包含了一份详细的NSIS中文用户手册——"NSIS用户手册中文.chm"。这份手册是学习和掌握NSIS的关键资源,下面将针对其中的主要知识点进行深入阐述。 1. **基础概念**: - **...

    NSIS用户手册-中文版

    NSIS用户手册-中文版

    NSIS中文用户手册.chm

    NSIS中文用户手册,官方英文帮助手册的翻译版本!翻译的很好,很特别适合作为用户学习NSIS的参考学习资料。

    最新版NSIS安装包和中文手册.rar

    NSIS的用户手册,用于打包资源做成程序的安装包。

    NSIS中文手册.zip

    NSIS中文手册的出现,为中文用户提供了便利,帮助他们更好地理解和使用这个工具。 NSIS脚本语言的基础知识包括: 1. **语法结构**:NSIS脚本由多个指令和函数组成,遵循特定的语法规则。例如,`Section`用于定义...

    NSIS-中文帮助文档

    NSIS 用户手册 新闻、信息、支持、例子、指南等可以到 http://nsis.sf.net 查看。 快速链接: FAQ - 常见问题列表 NSIS Wiki - 例子、函数、指南、插件、软件等等 Forum - 发表你的问题或进行 NSIS 相关讨论 版权...

    nsis中文版帮助手册

    《NSIS中文版帮助手册》是一个详细的资源,旨在帮助初学者和有经验的开发者更好地理解和使用NSIS。手册中包含了NSIS的基础概念、语法、函数、插件以及最佳实践等内容,是学习和开发NSIS安装程序的重要参考资料。 在...

Global site tag (gtag.js) - Google Analytics