我必须使用一个nsis脚本创建两个exe文件。一个包含zip文件作为完整包,另一个不包含zip文件。我在perl文件中设置一个参数,该文件调用我的nsis脚本并使用nsis脚本中的参数。问题在于“outfile”。无法检查情况。
示例:
传递参数为$ FULL_PKG = 1(带zip文件),= 0(不带zip文件) 名字“PKG” Strcmp $ {FULL_PKG}“1”0 1 outfile“FULLPKG.exe” outfile“PKG.exe”'
ERROR: command not valid outside section or function
答案 0 :(得分:0)
Outfile
等属性无法在运行时更改(部分和函数中的代码)
您可以使用/D with makensis:makensis /DNOZIP yourscript.nsi
创建定义,然后检查此定义:
!ifdef NOZIP
Outfile nozip.exe
!else
Outfile withzip.exe
!endif
...
Section
!ifndef NOZIP
File foo.zip ;Extract the zip file
!endif
SectionEnd
答案 1 :(得分:0)
对我来说,这也是可行的(也许在2012年不可用):
!if ${FULL_PKG} == 1
OutFile "FULLPKG.exe"
!else
OutFile "PKG.exe"
!endif