wordpress客户登录注册设置,徐州企业网站排名优化,电话营销话术,南京seo收费NSIS#xff08;Nullsoft Scriptable Install System#xff09;是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。
基本概念
区段
是对应某种安装/卸载选项的处理逻辑#xff0c;该段代码仅当用户选择相应的选项才被执行…NSISNullsoft Scriptable Install System是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。
基本概念
区段
是对应某种安装/卸载选项的处理逻辑该段代码仅当用户选择相应的选项才被执行。卸载程序的区段名用un.作为前缀。
/o表示该区段默认不选上-表示隐藏区段(匿名区段也是隐藏区段)表示需要粗体显示的区段。
Section Installer Section
SectionEnd
Section un.Uninstaller Section
SectionEnd
函数
在nsi脚本中函数分为两种用户自定义函数和回调函数。
用户自定义函数
Function 函数名 # some commands
FunctionEn
用户自定义函数仅当是Call指令调用时才被执行
回调函数
回调函数则是由在特定的时间点触发的程序段
安装逻辑定义以下回调函数
.onGUIInit、.onInit、.onInstFailed、.onInstSuccess、.onGUIEnd、.onMouseOverSection、.onRebootFailed、.onSelChange、.onUserAbort、.onVerifyInstDir
卸载逻辑回调函数
un.onGUIInit、un.onInit、un.onUninstFailed、un.onUninstSuccess、un.onGUIEnd、un.onRebootFailed、un.onUserAbort
变量
用var关键字来定义变量使用$来引用变量
$INSTDIR 用户定义的解压路径。$PROGRAMFILES 程序文件目录(通常为 C:Program Files 但是运行时会检测)。
0- 9, R0 -R9
脚本中定义了寄存器变量0- 9, R0 -R9用于参数传递以及系统变量用于特定用途。使用这些参数应该通过Push和Pop的方式
$STARTMENU
开始菜单目录(常用于添加一个开始菜单项使用 CreateShortCut)。该常量的内容(所有用户或当前用户)取决于SetShellVarContext 设置。默认为当前用户。
$SMPROGRAMS
开始菜单程序目录(当你想定位 $STARTMENU程序 时可以使用它)。该常量的内容(所有用户或当前用户)取决于SetShellVarContext 设置。默认为当前用户。
$SMSTARTUP
开始菜单程序/启动 目录。该常量的内容(所有用户或当前用户)取决于 SetShellVarContext 设置。默认为当前用户。 常用指令
File
作用释放文件到当前输出路径。
如果使用了 /r 开关匹配的文件将会在子目录里被递归的搜索。
将ProjectFiles目录下的所有文件释放到输出目。
SetOutPath $INSTDIR
SetOverwrite ifnewer
File /r ProjectFiles*.*
Delete
作用从目标系统删除文件
Delete $INSTDIR\uninst.exe
RMDir
作用删除目录
RMDir /r $INSTDIR\*.*
SetOutPath
作用设置输出路径($OUTDIR)且当路径不存在时创建(需要时会递归创建)。必须为绝对路径名通常都使用 $INSTDIR。
将用户定义的解压路径作为输出目录
SetOutPath $INSTDIR
CreateShortCut
作用创建快捷文件.lnk 目标文件
CreateShortCut $SMPROGRAMS\PSC_FS\Uninstall.lnk $INSTDIR\uninst.exe
WriteRegStr、WriteRegExpandStr
作用把字符串写入注册表
根键如下
HKLM 或HKEY_LOCAL_MACHINE
HKCU 或HKEY_CURRENT_USER WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} DisplayName $(^Name) WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} UninstallString $INSTDIR\uninst.exe
ReadRegStr
作用读取注册表信息
ReadRegStr $R0 HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8d5fdf81-7022-423f-bd8b-b513a1050ae1} BundleVersion
DeleteRegKey
作用删除一个注册表键。
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY}
Exec
作用这应该算是常用的命令了,执行一个指定的程序并且立即继续安装,就是直接执行一个程序。
Exec $INSTDIR\vc_redist.x86.exe /q ;若不存在执行静默安装 /q表示静默安装
ExecWait
作用执行一个指定的程序并且等待运行处理结束。
Exec $INSTDIR\vc_redist.x86.exe /q ;若不存在执行静默安装 /q表示静默安装
RegDLL
作用载入指定的 DLL 并且调用 DllRegisterServer (或入口点名称当指定之后)。其实就是注册或加载你要的插件
!insertmacro
作用插入宏
通过宏插入欢迎页面
!insertmacro MUI_PAGE_WELCOME
StrCpy
作用复制字符串
StrCpy $0 a bbbbbbbb
Push
作用把一个字串压入堆栈该字串可随后从堆栈里弹出。
Pop
作用从堆栈里弹出一个字串到用户变量 $x。如果堆栈是空的则会置一个错误标记。
Goto
作用跳转到指定标记
IfErrors
错误时跳转到标记
IfErrors 0 VSRedistInstalled
MessageBox
作用显示一个包含“消息框文本”的消息框。“消息框选项列表”必须为下面的一个或多个多个使用 | 来隔开。
MB_OK - 显示 OK 按钮
MB_OKCANCEL - 显示 OK 和取消按钮
MB_ABORTRETRYIGNORE - 显示退出、重试、忽略按钮
MB_RETRYCANCEL - 显示重试和取消按钮
MB_YESNO - 显示是和否按钮
MB_YESNOCANCEL - 显示是、否、取消按钮
MB_ICONEXCLAMATION - 显示惊叹号图标
MB_ICONINFORMATION - 显示信息图标
MB_ICONQUESTION - 显示问号图标
MB_ICONSTOP - 显示终止图标
MB_TOPMOST - 使消息框在最前端显示
MB_SETFOREGROUND - 设置前景
MB_RIGHT - 右对齐文本
MB_RTLREADING - RTL 阅读次序
Function un.onInit Push $R3 ClearErrors ReadRegStr $R3 ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} install StrCmp $R3 1 uninstallfinish MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 您确实要完全移除 $(^Name) 及其所有的组件 \ /SD IDYES \ IDYES uninstallfinish \ IDNO Abortuninstall
Abortuninstall: Abort
uninstallfinish: pop $R3 FunctionEnd
NSIS工具安装包下载
链接https://pan.baidu.com/s/1ticaAl3T7kp4kJOwSTCxWA 提取码xn2n 具体制作安装包的过程参考:https://www.cnblogs.com/hi-gdl/p/12449912.html