我正在尝试通过外部传递版本号来概括设置文件。我希望能够做到这一点:
makensis myscript.nsi parameter=value
然后读取脚本中的参数,以便使用相同的脚本生成不同版本的可执行文件。我找到了this& this,但它们似乎是用于将命令行参数传递给生成的setup.exe。这有可能,怎么样?
答案 0 :(得分:6)
您可以使用/ D开关从command line向全局定义的列表中添加符号:
makensis /DMyVersion="1.0.1" install.nsi
然后您可以使用$ {}语法来使用它们:
!ifdef MyVersion
StrCpy $Version "${MyInstallerName}"
!else
StrCpy $Version "1.0.0"
!endif
此SO问题中讨论的GetVersion插件也可能引起关注:NSIS - put EXE version into name of installer