NSIS 静默安装传递更改默认路径参数

安装程序的使用

生成的安装程序和卸载程序接受一些命令行的参数。这些参数可以让用户在安装过程中对安装程序作部分控制。

公共选项

  • /NCRC 禁止 CRC 检测,除非在脚本里强制使用了 CRCCheck force
  • /S 静默运行安装程序或卸载程序。更多信息请参看 section 4.12 。
  • /D 指定默认的安装目录 ($INSTDIR), 可以越过 InstallDir 和 InstallDirRegKey 。这个参数必须是最后一个参数并且不能带任何引号即使路径带有空格。仅支持绝对路径。

卸载程序特殊选项

  • _?= 指定 $INSTDIR。这也会阻止卸载程序把它自己复制到临时文件夹再运行。这将可以使用 ExecWait 来运行卸载程序并等待它完成。这个参数必须是最后一个参数并且不能带任何引号即使路径带有空格。

例子

installer.exe /NCRC
 installer.exe /S
 installer.exe /D=C:\Program Files\NSIS
 installer.exe /NCRC /S /D=C:\Program Files\NSIS
 uninstaller.exe /S _?=C:\Program Files\NSIS
# 静默卸载旧版本并等待它完成后才继续
 ExecWait ‘”$INSTDIR\uninstaller.exe” /S _?=$INSTDIR’

以上信息来自NSIS帮助。下面为实例代码:

!define APPLOCALPATH "Test.exe"
!define APPPATH "$TEMP\${APPLOCALPATH}"
OutFile "Test ${__DATE__}.exe"
Section "Silent MakeNSIS"
SetOutPath "$TEMP"
File /r  "install\*.*"
ExecWait '$TEMP\${APPLOCALPATH} /S /D=F:\Program Files\NSIS'
Delete '$TEMP\${APPLOCALPATH}'
SectionEnd
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容