1

1つのnsisスクリプトで2つのexeファイルを作成する必要があります。1つはフルパックとしてzipファイルを含み、もう1つはzipファイルを含みません。私のnsisスクリプトを呼び出しているperlファイルにパラメータを設定し、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は実行時に変更できません(セクションと関数のコード)

makensis:で/ Dを使用して定義を作成し、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 に答える