kir*_*off 0 installation installer command-line nsis
我想让我的安装程序保持沉默.我希望能够灵活地使安装程序保持静默或不依赖于命令行选项.在doc中,我发现这可以启动NSIS脚本编译:
"C:\Program Files\NSIS\makensis.exe" "D:\Produts\folder\Install\nsis\MyApp.nsi"
Run Code Online (Sandbox Code Playgroud)
这是有效的.默认情况下,这会生成非静默安装程序.要使用静默安装程序(仅使用命令行选项),我试过这个
"C:\Program Files\NSIS\makensis.exe" \S "D:\Produts\folder\Install\nsis\MyApp.nsi"
Run Code Online (Sandbox Code Playgroud)
但\ S不是公认的选择.如何使用命令行选项使安装程序无声?
我可以在doc中找到它
4.8.1.36 SilentInstall
normal | silent | silentlog指定安装程序是否应该是静默的.如果它是'silent'或'silentlog',所有具有SF_SELECTED标志的部分都安静地安装(你可以使用SectionSetFlags设置这个标志),安装程序本身没有屏幕输出(脚本仍然可以显示它想要的任何内容,使用MessageBox的/ SD指定静默安装程序的默认值.请注意,如果将其设置为"normal"并且用户在命令行上使用/ S(区分大小写)运行安装程序,则其行为就像使用了SilentInstall"silent"一样.注意:另请参见LogSet.
有关更多信息,请参见第4.12节.
所以我觉得被虐待了
或者是否应该将一些指令添加到NSIS脚本中,以便编译可以接受/ S选项?
尝试用-S而不是工作.
感谢致敬
/S选项适用于您的安装程序,而不是makensis.exe.因此,您可以从命令行以静默方式运行安装程序:
MyApp.exe /S
如果您希望构建安装程序始终保持静默,可以使用以下技术:
在.onInit功能中:
Function .onInit
!ifdef IsSilent
SetSilent silent
!endif
FunctionEnd
Run Code Online (Sandbox Code Playgroud)
然后使用/D选项构建安装程序以定义IsSilent常量:
makensis.exe /DIsSilent MyApp.nsi
这意味着,如果你使用/D上面的选项构建,安装程序将始终保持沉默; 如果没有/D选项,默认情况下安装程序将是非静默的,您仍然可以从命令行运行它MyApp.exe /S以保持静默.
| 归档时间: |
|
| 查看次数: |
5293 次 |
| 最近记录: |