NSIS基础出了问题

NSIS基础出了问题,nsis,Nsis,所以这是一个非常基本的问题,但我似乎找不到我做错了什么 因此,我在NSIS中摆弄定义,它没有像我预期的那样工作,所以我将问题缩小到最小的部分,我仍然无法使它像我预期的那样工作 脚本如下所示: !ifndef b !define b "" !endif !if $b=="b" !define a "b" !else !define a "c" !endif Section MessageBox MB_OK "a: ${a} b: ${b}" SectionEnd 我使用标志/Db=b

所以这是一个非常基本的问题,但我似乎找不到我做错了什么

因此,我在NSIS中摆弄定义,它没有像我预期的那样工作,所以我将问题缩小到最小的部分,我仍然无法使它像我预期的那样工作

脚本如下所示:

!ifndef b
!define b ""
!endif

!if $b=="b"
!define a "b"
!else
!define a "c"
!endif

Section
    MessageBox MB_OK "a: ${a} b: ${b}"
SectionEnd
我使用标志
/Db=b
运行它

输出仍然是:

a: "c" b: "b"

我错过了一些琐碎的事情

b是一个定义,而不是一个变量:

!ifndef b
!define b ""
!endif

!if "${b}" == "b"    # <-- Modify this line.
!define a "b"
!else
!define a "c"
!endif

Section
    MessageBox MB_OK "a: ${a} b: ${b}"
SectionEnd
!ifndef b
!定义b“”
!恩迪夫

!如果“${b}”==“b”#Thx!但需要的不仅仅是括号。它也是==周围的空格。这就是为什么我没有发现它是第一次。因为我确信我在发帖前试过括号。