如何使用一个nsis脚本创建两个exe文件?

时间:2012-10-22 12:44:56

标签: nsis

我必须使用一个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

2 个答案:

答案 0 :(得分:0)

Outfile等属性无法在运行时更改(部分和函数中的代码)

您可以使用/D with makensismakensis /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