为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > NSIS用户手册[整理]

NSIS用户手册[整理]

2018-10-03 7页 doc 21KB 183阅读

用户头像

is_995397

暂无简介

举报
NSIS用户手册[整理]NSIS用户手册[整理] NSIS用户手册 NSIS(Nullsoft Scriptable Install System)是一个供程序员使用的、建立Windows installers的工具。它的发布遵守开源许可,且 完全免费使用。 脚本文件 要利用NSIS制作安装包,你必须编写NSIS脚本,NSIS脚本是一些简单语法规则的文本。 NSIS脚本的每一行都是命令。若命令很长,可以用'/'来换行写,类似VC里面写很长的字符串。 例如: Messagebox MB_OK|MB_ICONINFORMATION / "Thi...
NSIS用户手册[整理]
NSIS用户手册[整理] NSIS用户手册 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用户手册[整理]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索