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

如何使用一个nsis脚本创建两个exe文件?,nsis,Nsis,我必须用一个nsis脚本创建两个exe文件。一个包含完整的zip文件包,另一个不包含zip文件。我正在perl文件中设置一个参数,该参数调用我的nsis脚本并使用nsis脚本中的参数。问题在于“输出文件”。无法检查条件 例如: 将参数传递为$FULL_PKG=1(带zip文件),=0(不带zip文件) 名称“PKG” Strcmp${FULL_PKG}“1”0 1 输出文件“FULLPKG.exe” 输出文件“PKG.exe” 无法在运行时更改Outfile等属性(节和函数中的代码) 您可以使用

我必须用一个nsis脚本创建两个exe文件。一个包含完整的zip文件包,另一个不包含zip文件。我正在perl文件中设置一个参数,该参数调用我的nsis脚本并使用nsis脚本中的参数。问题在于“输出文件”。无法检查条件

例如:

将参数传递为$FULL_PKG=1(带zip文件),=0(不带zip文件) 名称“PKG” Strcmp${FULL_PKG}“1”0 1 输出文件“FULLPKG.exe” 输出文件“PKG.exe”


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

您可以使用以下命令创建定义:
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

对我来说,这也是可行的(可能在2012年没有提供):

!ifdef NOZIP
Outfile nozip.exe
!else
Outfile withzip.exe
!endif
...
Section
!ifndef NOZIP
File foo.zip ;Extract the zip file
!endif
SectionEnd
!if ${FULL_PKG} == 1
    OutFile "FULLPKG.exe"
!else
    OutFile "PKG.exe"
!endif