; NSIS 函数向导文件
; 脚本解释
; Textbox(文本框) 如果不写入这项 Texbox 默认使用 参数1(不带引号)
; 0:(不显示) 1:(不带引号) 2:(带双引号) 3:(多行显示)
;
; Checkbox(允许参数按钮) 如果不写入这项 Texbox 默认使用 参数0(必填参数)
; 0:(必填参数) 1:(可选择) 2:(将来使用)
;
; Button(选择参数填充按钮) 如果不写入这项 Button 默认使用 参数0(选择参数)
; 0:(不显示) 1:(浏览选择文件) 2:(浏览选择目录) 3:(选择参数) 4:(选择排序后的参数) 5:(选择可复合参数)
; 6:(选择已排序的可复合参数) 7:(可选择目录或文件)
;
; 标记: %%LABELS%%    -- 用在 Goto 这类函数中的 标记 参数
;
; 函数: %%FUNCTIONS%% -- 用在 Call 这类函数中的调用 参数
;
; 以上两个常用变量是会自动检测 NSIS 脚本里面的已有标记和函数的
;
;例子:
;[Abort]							-- 函数名字
;Help=取消安装，停止执行脚本，并且在状态显示里显示用户信息。	-- 在函数向导对话框中旁边的简明帮助
;NumArgs=1							-- 函数共有几个参数
;Arg1=用户信息							-- 显示在参数顶上的提示语句
;Button1=0							-- 该按钮不显示
;Checkbox1=0							-- 该参数为必填项
;Textbox1=2							-- 该参数为带双引号的字符串
;
;
;如果是多行字符例如简明帮助，如果你要强行换行，请用英文的逗号或半角空格，如果你必须要显示英文的逗号或半角空格，请用双引号括起整个字符串。
;Help=""Cancels the install, stops execution of script, and displays user_message in the status display.""
;

[Abort]
Help=取消安装，停止执行脚本，并且在状态显示里显示用户信息。
NumArgs=1
Arg1=用户信息
Checkbox1=0
Button1=0
Textbox1=3

[BringToFront]
Help=使安装程序窗口可见并把它带到其他窗口的最前端。
NumArgs=0

[CreateShortCut]
Help=创建一个指向“目标文件”的快捷方式“快捷文件.lnk”，可以带“参数”参数。
NumArgs=8
Arg1=快捷文件.lnk
Checkbox1=0
Button1=0
Textbox1=2
Arg2=目标文件
Checkbox2=0
Button2=1
Textbox2=2
Arg3=参数
Checkbox3=1
Button3=0
Textbox3=2
Arg4=图标文件
Checkbox4=1
Button4=1
Textbox4=2
Arg5=图标索引号
Button5=0
Checkbox5=1
Textbox5=1
Arg6=启动选项
Button6=3
Checkbox6=1
Textbox6=1
Options6=SW_SHOWNORMAL,SW_SHOWMAXIMIZED,SW_SHOWMINIMIZED
Arg7=键盘快捷键
Button7=0
Checkbox7=1
Textbox7=2
Arg8=描述
Button8=0
Checkbox8=1
Textbox8=2

[Goto]
Help=如果指定了标记，则跳转到“要跳转的标记:”。
NumArgs=1
Arg1=要跳转的标记 | +偏移| -偏移| 用户变量(目标)
Textbox1=1
Checkbox1=0
Button1=4
Options1=%%LABELS%%

[Call]
Help=""调用“函数名”函数。如果在 Uninstall 区段，Call 仅能调用以“un.”开头的函数名。""
NumArgs=1
Arg1=函数名 | :标记名
Button1=4
Checkbox1=0
Textbox1=1
Options1=%%LABELS%%,%%FUNCTIONS%%

[MessageBox]
Help=显示一个包含“消息框文本”的消息框。
NumArgs=7
Arg1=消息框选项列表
Button1=6
Checkbox1=0
Textbox1=1
Options1=MB_OK,MB_OKCANCEL,MB_ABORTRETRYIGNORE,MB_RETRYCANCEL,MB_YESNO,MB_YESNOCANCEL,MB_ICONEXCLAMATION,MB_ICONINFORMATION,MB_ICONQUESTION,MB_ICONSTOP,MB_TOPMOST,MB_SETFOREGROUND,MB_RIGHT,MB_DEFBUTTON1,MB_DEFBUTTON2,MB_DEFBUTTON3,MB_DEFBUTTON4
Arg2=消息框文本
Button2=0
Checkbox2=0
Textbox2=3
Arg3=默认返回值
Button3=4
Checkbox3=1
Textbox3=1
Options3=""/SD IDABORT","/SD IDCANCEL","/SD IDIGNORE","/SD IDNO","/SD IDOK","/SD IDRETRY","/SD IDYES""
Arg4=检测返回值 1
Button4=4
Checkbox4=1
Textbox4=1
Options4=IDABORT,IDCANCEL,IDIGNORE,IDNO,IDOK,IDRETRY,IDYES
Arg5=跳转到 1
Button5=4
Checkbox5=1
Textbox5=1
Options5=%%LABELS%%
Arg6=检测返回值 2
Button6=4
Checkbox6=1
Textbox6=1
Options6=IDABORT,IDCANCEL,IDIGNORE,IDNO,IDOK,IDRETRY,IDYES
Arg7=跳转到 2
Button7=4
Checkbox7=1
Textbox7=1
Options7=%%LABELS%%

[CreateDirectory]
Help=创建(必要时递归)指定的目录。当目录不能创建时是一个错误位标计。
NumArgs=1
Arg1=要创建的路径
Button1=2
Checkbox1=0
Textbox1=2

[CopyFiles]
Help=在正在安装的系统中把“目标系统文件规范”复制到“目标路径”。
NumArgs=5
Arg1=[/SILENT]
Button1=0
Checkbox1=1
Textbox1=0
Options1=/SILENT
Arg2=[/FILESONLY]
Button2=0
Checkbox2=1
Textbox2=0
Options2=/FILESONLY
Arg3=目标系统文件规范
Button3=1
Checkbox3=0
Textbox3=2
Arg4=目标路径
Button4=2   
Checkbox4=0
Textbox4=2
Arg5=文件大小_单位为_kb
Button5=0
Checkbox5=1
Textbox5=1

[SetOverwrite]
Help=""该命令设置了由 File 命令使用的覆盖位标计来决定目标文件已存在时是否覆盖。""
NumArgs=1
Arg1=覆盖位标计
Button1=4
Checkbox1=0
Textbox1=1
Options1=on,off,try,ifnewer,ifdiff,lastused

[SetPluginUnload]
Help=""该命令设置了 CallInstDLL 和插件调用(插件名::函数)的不卸载插件位标计。""
NumArgs=1
Arg1=插件位标计
Button1=4
Checkbox1=0
Textbox1=1
Options1=manual,alwaysoff

[Delete]
Help=从目标系统删除文件(可以是文件或通配符，但必须指定一个完整的路径)。
NumArgs=2
Arg1=目标文件如果正在使用是否等待重启后删除
Button1=0
Checkbox1=1
Textbox1=0
Options1=/REBOOTOK
Arg2=输入目标系统里要删除的文件，可以使用通配符 *
Button2=3
Checkbox2=0
Textbox2=2
Options2=$INSTDIR\目标系统要删除的文件,$PROGRAMFILES\目标系统要删除的文件,$COMMONFILES\目标系统要删除的文件,$DESKTOP\目标系统要删除的文件,$WINDIR\目标系统要删除的文件,$SYSDIR\目标系统要删除的文件,$TEMP\目标系统要删除的文件,$STARTMENU\目标系统要删除的文件,$SMPROGRAMS\目标系统要删除的文件,$SMSTARTUP\目标系统要删除的文件,$QUICKLAUNCH\目标系统要删除的文件,......

[Exec]
Help=执行一个指定的程序或命令并且立即继续进程安装。
NumArgs=1
Arg1=程序或命令
Button1=0
Checkbox1=0
Textbox1=2

[ExecShell]
Help=""使用 Windows 的外壳关联来执行或打开一个指定的程序或文件。""
NumArgs=4
Arg1=动作
Button1=3
Checkbox1=0
Textbox1=1
Options1=open,print,explore
Arg2=程序或文件
Button2=0
Checkbox2=0
Textbox2=2
Arg3=执行参数
Button3=0
Checkbox3=1
Textbox3=2
Arg4=打开窗口的显示类型
Button4=3
Checkbox4=1
Textbox4=1
Options4=SW_SHOWNORMAL,SW_SHOWMAXIMIZED,SW_SHOWMINIMIZED

[ExecWait]
Help=执行一个指定的程序并且等待运行处理结束。
NumArgs=2
Arg1=命令
Textbox1=2
Checkbox1=0
Button1=0
Arg2=用户变量(退出代码)
Textbox2=1
Checkbox2=1
Button2=3
Options2=$0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$R0,$R1,$R2,$R3,$R4,$R5,$R6,$R7,$R8,$R9,......

[File]
Help=释放文件到当前输出路径($OUTDIR)。
NumArgs=5
Arg1=/nonfatal 开关，当文件未找到时使用警告来代替错误。
Textbox1=0
Checkbox1=1
Button1=0
Options1=/nonfatal
Arg2=/a 开关，被添加的文件的属性将会被保持。
Textbox2=0
Checkbox2=1
Button2=0
Options2=/a
Arg3=/r 开关，文件和目录将会被递归添加。
Textbox3=0
Checkbox3=1
Button3=0
Options3=/r
Arg4=/oname 开关，输出时将文件改名(单一文件)。
Textbox4=2
Checkbox4=1
Button4=3
Options4=/oname=
Arg5=指定的文件。
Textbox5=2
Checkbox5=0
Button5=7

[ClearErrors]
Help=清除错误信息。
NumArgs=0

[Rename]
Help=把用户系统里的任何地方的一个文件移动到用户系统里的任何地方。
NumArgs=3
Arg1=/REBOOTOK 目标文件如果正在使用则等待重启后删除
Button1=0
Checkbox1=1
Textbox1=0
Options1=/REBOOTOK
Arg2=源文件
Button2=3
Checkbox2=0
Textbox2=2
Options2=$INSTDIR\源文件,$PROGRAMFILES\源文件,$COMMONFILES\源文件,$DESKTOP\源文件,$WINDIR\源文件,$SYSDIR\源文件,$TEMP\源文件,$STARTMENU\源文件,$SMPROGRAMS\源文件,$SMSTARTUP\源文件,$QUICKLAUNCH\源文件,......
Arg3=目标文件
Button3=3
Checkbox3=0
Textbox3=2
Options3=$INSTDIR\目标文件,$PROGRAMFILES\目标文件,$COMMONFILES\目标文件,$DESKTOP\目标文件,$WINDIR\目标文件,$SYSDIR\目标文件,$TEMP\目标文件,$STARTMENU\目标文件,$SMPROGRAMS\目标文件,$SMSTARTUP\目标文件,$QUICKLAUNCH\目标文件,......

[ReserveFile]
Help=把文件保存在稍后使用的数据区块。
NumArgs=3
Arg1=/nonfatal 开关，当文件未找到时使用警告来代替错误。
Textbox1=0
Checkbox1=1
Button1=0
Options1=/nonfatal
Arg2=/r 开关，文件和目录将会被递归添加。
Textbox2=0
Checkbox2=1
Button2=0
Options2=/r
Arg3=指定的文件。
Textbox3=2
Checkbox3=0
Button3=7

[RMDir]
Help=删除指定的目录(完整路径)。
NumArgs=3
Arg1=/r 开关，递归删除。
Textbox1=0
Checkbox1=1
Button1=0
Options1=/r
Arg2=/REBOOTOK 目标目录如果正在使用则等待重启后删除
Textbox2=0
Checkbox2=1
Button2=0
Options2=/REBOOTOK
Arg3=指定目标目录
Textbox3=2
Checkbox3=0
Button3=3
Options3=$INSTDIR\目标目录,$PROGRAMFILES\目标目录,$COMMONFILES\目标目录,$DESKTOP\目标目录,$WINDIR\目标目录,$SYSDIR\目标目录,$TEMP\目标目录,$STARTMENU\目标目录,$SMPROGRAMS\目标目录,$SMSTARTUP\目标目录,$QUICKLAUNCH\目标目录,......

[SetOutPath]
Help=设置输出路径($OUTDIR)。
NumArgs=1
Arg1=指定输出路径
Textbox1=2
Checkbox1=0
Button1=3
Options1=$INSTDIR\输出路径,$PROGRAMFILES\输出路径,$COMMONFILES\输出路径,$DESKTOP\输出路径,$WINDIR\输出路径,$SYSDIR\输出路径,$TEMP\输出路径,$STARTMENU\输出路径,$SMPROGRAMS\输出路径,$SMSTARTUP\输出路径,$QUICKLAUNCH\输出路径,......

[DeleteINISec]
Help=""删除 INI 某个区段。""
NumArgs=2
Arg1=INI 文件
Textbox1=2
Checkbox1=0
Button1=3
Options1=$INSTDIR\INI文件,$PROGRAMFILES\INI文件,$COMMONFILES\INI文件,$DESKTOP\INI文件,$WINDIR\INI文件,$SYSDIR\INI文件,$TEMP\INI文件,$STARTMENU\INI文件,$SMPROGRAMS\INI文件,$SMSTARTUP\INI文件,$QUICKLAUNCH\INI文件,......
Arg2=区段
Textbox2=2
Checkbox2=0
Button2=0

[DeleteINIStr]
Help=""删除 INI 字串。""
NumArgs=3
Arg1=INI 文件
Textbox1=2
Checkbox1=0
Button1=3
Options1=$INSTDIR\INI文件,$PROGRAMFILES\INI文件,$COMMONFILES\INI文件,$DESKTOP\INI文件,$WINDIR\INI文件,$SYSDIR\INI文件,$TEMP\INI文件,$STARTMENU\INI文件,$SMPROGRAMS\INI文件,$SMSTARTUP\INI文件,$QUICKLAUNCH\INI文件,......
Arg2=区段
Textbox2=2
Checkbox2=0
Button2=0
Arg3=字串
Textbox3=2
Checkbox3=0
Button3=0

[DeleteRegKey]
Help=删除一个注册表键。
NumArgs=3
Arg1=/ifempty，仅在健为空时删除
Textbox1=0
Checkbox1=1
Button1=0
Options1=/ifempty
Arg2=根键
Textbox2=1
Checkbox2=0
Button2=3
Options2=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg3=子键
Textbox3=2
Checkbox3=0
Button3=0

[DeleteRegValue]
Help=删除一个注册表键值。
NumArgs=3
Arg1=根键
Textbox1=1
Checkbox1=0
Button1=3
Options1=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg2=子键
Textbox2=2
Checkbox2=0
Button2=0
Arg3=键值
Textbox3=2
Checkbox3=0
Button3=0

[EnumRegKey]
Help=查询注册表键。
NumArgs=4
Arg1=输出变量
Textbox1=1
Checkbox1=0
Button1=0
Arg2=根键
Textbox1=2
Checkbox2=0
Button2=3
Options2=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg3=子键
Textbox3=2
Checkbox3=0
Button3=0
Arg4=索引(数字或变量保存的数字)
Textbox4=2
Checkbox4=0
Button4=0

[EnumRegValue]
Help=查询注册表键值。
NumArgs=4
Arg1=输出变量
Textbox1=1
Checkbox1=0
Button1=0
Arg2=根键
Textbox1=2
Checkbox2=0
Button2=3
Options2=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg3=子键
Textbox3=2
Checkbox3=0
Button3=0
Arg4=索引(数字或变量保存的数字)
Textbox4=2
Checkbox4=0
Button4=0

[ReadINIStr]
Help=""读取 INI 字串值。""
NumArgs=4
Arg1=输出变量
Textbox1=1
Checkbox1=0
Button1=0
Arg2=INI文件
Textbox1=2
Checkbox2=0
Button2=3
Options2=$INSTDIR\INI文件,$PROGRAMFILES\INI文件,$COMMONFILES\INI文件,$DESKTOP\INI文件,$WINDIR\INI文件,$SYSDIR\INI文件,$TEMP\INI文件,$STARTMENU\INI文件,$SMPROGRAMS\INI文件,$SMSTARTUP\INI文件,$QUICKLAUNCH\INI文件,......
Arg3=区段
Textbox3=2
Checkbox3=0
Button3=0
Arg4=项
Textbox4=2
Checkbox4=0
Button4=0

[ReadRegDWORD]
Help=""读取一个注册表 DWORD 类型键值数据。""
NumArgs=4
Arg1=输出变量
Textbox1=1
Checkbox1=0
Button1=0
Arg2=根键
Textbox1=2
Checkbox2=0
Button2=3
Options2=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg3=子键
Textbox3=2
Checkbox3=0
Button3=0
Arg4=项
Textbox4=2
Checkbox4=0
Button4=0

[ReadRegStr]
Help=读取一个注册表字串类型键值数据。
NumArgs=4
Arg1=输出变量
Textbox1=1
Checkbox1=0
Button1=0
Arg2=根键
Textbox1=2
Checkbox2=0
Button2=3
Options2=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg3=子键
Textbox3=2
Checkbox3=0
Button3=0
Arg4=项
Textbox4=2
Checkbox4=0
Button4=0

[WriteINIStr]
Help=""写入 INI 字串。""
NumArgs=4
Arg1=INI文件
Textbox1=2
Checkbox1=0
Button1=3
Options1=$INSTDIR\INI文件,$PROGRAMFILES\INI文件,$COMMONFILES\INI文件,$DESKTOP\INI文件,$WINDIR\INI文件,$SYSDIR\INI文件,$TEMP\INI文件,$STARTMENU\INI文件,$SMPROGRAMS\INI文件,$SMSTARTUP\INI文件,$QUICKLAUNCH\INI文件,......
Arg2=区段
Textbox2=2
Checkbox2=0
Button2=0
Arg3=项
Textbox3=2
Checkbox3=0
Button3=0
Arg4=值
Textbox4=2
Checkbox4=0
Button4=0

[WriteRegBin]
Help=写入注册表二进制数据。
NumArgs=4
Arg1=根键
Textbox1=2
Checkbox1=0
Button1=3
Options1=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg2=子键
Textbox2=2
Checkbox2=0
Button2=0
Arg3=项
Textbox3=2
Checkbox3=0
Button3=0
Arg4=值数据为十六进制格式(如 DEADBEEF01223211151)
Textbox4=2
Checkbox4=0
Button4=0

[WriteRegDWORD]
Help=""写入注册表 DWORD 数据。""
NumArgs=4
Arg1=根键
Textbox1=2
Checkbox1=0
Button1=3
Options1=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg2=子键
Textbox2=2
Checkbox2=0
Button2=0
Arg3=项
Textbox3=2
Checkbox3=0
Button3=0
Arg4=值数据
Textbox4=2
Checkbox4=0
Button4=0

[WriteRegStr]
Help=写入注册表字串数据。
NumArgs=4
Arg1=根键
Textbox1=2
Checkbox1=0
Button1=3
Options1=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg2=子键
Textbox2=2
Checkbox2=0
Button2=0
Arg3=项
Textbox3=2
Checkbox3=0
Button3=0
Arg4=值数据
Textbox4=2
Checkbox4=0
Button4=0

[WriteRegExpandStr]
Help=""写入注册表 REG_EXPAND_STR 字串数据。""
NumArgs=4
Arg1=根键
Textbox1=2
Checkbox1=0
Button1=3
Options1=HKCR,HKLM,HKCU,HKU,HKCC,HKDD,HKPD,SHCTX
Arg2=子键
Textbox2=2
Checkbox2=0
Button2=0
Arg3=项
Textbox3=2
Checkbox3=0
Button3=0
Arg4=值数据
Textbox4=2
Checkbox4=0
Button4=0

[SetFileAttributes]
Help=设置文件的属性。
NumArgs=2
Arg1=文件
Textbox1=2
Checkbox1=0
Button1=3
Options1=$INSTDIR\文件,$PROGRAMFILES\文件,$COMMONFILES\文件,$DESKTOP\文件,$WINDIR\文件,$SYSDIR\文件,$TEMP\文件,$STARTMENU\文件,$SMPROGRAMS\文件,$SMSTARTUP\文件,$QUICKLAUNCH\文件,......
Arg2=文件的属性
Textbox2=2
Checkbox2=0
Button2=6
Options2=FILE_ATTRIBUTE_NORMAL,FILE_ATTRIBUTE_ARCHIVE,FILE_ATTRIBUTE_HIDDEN,FILE_ATTRIBUTE_OFFLINE,FILE_ATTRIBUTE_READONLY,FILE_ATTRIBUTE_SYSTEM,FILE_ATTRIBUTE_TEMPORARY

[RegDLL]
Help=""注册 DLL 文件。""
NumArgs=2
Arg1=DLL文件
Textbox1=2
Checkbox1=0
Button1=3
Options1=$INSTDIR\DLL文件,$PROGRAMFILES\DLL文件,$COMMONFILES\DLL文件,$DESKTOP\DLL文件,$WINDIR\DLL文件,$SYSDIR\DLL文件,$TEMP\DLL文件,$STARTMENU\DLL文件,$SMPROGRAMS\DLL文件,$SMSTARTUP\DLL文件,$QUICKLAUNCH\DLL文件,......
Arg2=入口点名称
Textbox2=2
Checkbox2=1
Button2=0

[UnRegDLL]
Help=""反注册 DLL 文件。""
NumArgs=1
Arg1=DLL文件
Textbox1=2
Checkbox1=0
Button1=3
Options1=$INSTDIR\DLL文件,$PROGRAMFILES\DLL文件,$COMMONFILES\DLL文件,$DESKTOP\DLL文件,$WINDIR\DLL文件,$SYSDIR\DLL文件,$TEMP\DLL文件,$STARTMENU\DLL文件,$SMPROGRAMS\DLL文件,$SMSTARTUP\DLL文件,$QUICKLAUNCH\DLL文件,......

[InitPluginsDir]
Help=初始化插件目录。
NumArgs=0

[SetShellVarContext]
Help=""设置 $SMPROGRAMS 的内容或其他命令解释程序目录。""
NumArgs=1
Arg1=当前用户或者所有用户
Textbox1=1
Checkbox1=0
Button1=3
Options1=current,all

[Reboot]
Help=重启电脑。
NumArgs=0

[SetRebootFlag]
Help=""设置重启标记为 true 或 false 。""
NumArgs=1
Arg1=标记
Textbox1=1
Checkbox1=0
Button1=3
Options1=true,false

[DetailPrint]
Help=添加信息字串到安装程序的安装信息查看窗口。
NumArgs=1
Arg1=信息
Textbox1=1
Checkbox1=0
Button1=0

[SetDetailsPrint]
Help=为命令输出的状态信息设置一个显示模式。
NumArgs=1
Arg1=标记
Textbox1=1
Checkbox1=0
Button1=3
Options1=none,listonly,textonly,both,lastused














