1

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

例子:

传递参数为 $FULL_PKG =1(带 zip 文件),=0(不带 zip 文件) name "PKG" Strcmp ${FULL_PKG} "1" 0 1 outfile "FULLPKG.exe" outfile "PKG.exe"'

ERROR: command not valid outside section or function
4

2 回答 2

0

Outfile诸如不能在运行时更改的属性(部分和函数中的代码)

您可以使用/D 和 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
于 2012-10-22T13:32:04.853 回答
0

对我来说,这也是有效的(也许它在 2012 年不可用):

!if ${FULL_PKG} == 1
    OutFile "FULLPKG.exe"
!else
    OutFile "PKG.exe"
!endif
于 2019-02-13T12:03:26.363 回答