0

次のようなスクリプトを使用すると問題ありません。

...
!define MUI_PAGE_CUSTOMFUNCTION_PRE onlymodeA
!insertmacro MUI_UNPAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
!define MUI_PAGE_CUSTOMFUNCTION_PRE onlymodeA
!insertmacro MUI_UNPAGE_INSTFILES
...

しかし、この 1 つのスクリプトを使用するとエラーが発生します - !define: "MUI_UNPAGE_CUSTOMFUNCTION_PRE" already defined!

...
!define MUI_UNPAGE_CUSTOMFUNCTION_PRE un.onlymodeA
!insertmacro MUI_UNPAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
!define MUI_UNPAGE_CUSTOMFUNCTION_PRE un.onlymodeA
!insertmacro MUI_UNPAGE_INSTFILES
...

違いは何ですか?

4

1 に答える 1

2

定義はMUI_PAGE_CUSTOMFUNCTION_*ページごとであり、ページを作成する !insertmacro 呼び出しは、MUI_PAGE_CUSTOMFUNCTION_*それらのコンテンツを使用した後に未定義になります。MUI_UNPAGE_CUSTOMFUNCTION_PREは MUI 定義ではなく、マクロの後に残ります。もう一度定義しようとすると、通常のコンパイラ エラーが発生します...

于 2012-10-29T17:33:16.697 に答える