相关疑难解决方法(0)

如何在NSIS安装程序脚本中捕获没有gotos/labels的YESNOCANCEL MessageBox的结果?

我想知道如何在NSIS安装程序脚本中使用YESNOCANCEL MessageBox和LogicLib.nsh中的IF逻辑,以避免使用标签和gotos.

有没有办法在某种变量中捕获MessageBox的结果?

此外,我知道有比NSIS更好的东西,但在这一点上使用其他东西不是可能的.=(

请注意{WHAT GOES HERE??}以下代码.如果这只是一个If ... Else ......它会正常工作.

谢谢您的帮助

${If} ${Cmd} `MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION 
"PROGRAM X is already installed. Click YES to remove the installed version 
 found in C:\Program Files(x86). Click NO to skip uninstall and choose a 
 different install location (not recommended) or CANCEL to terminate
  the installer." IDYES`

    MessageBox MB_OK "Yes was clicked"
${ElseIf} {WHAT GOES HERE??}
    MessageBox MB_OK "No was clicked"
${Else}    
    MessageBox MB_OK "Cancel was clicked"
${EndIf}  
Run Code Online (Sandbox Code Playgroud)

更新:我也找到了这个例子,但我不确定${||}它对我有什么用或怎样有用.

  ; ifcmd..||..| …
Run Code Online (Sandbox Code Playgroud)

installer windows-installer nsis messagebox

4
推荐指数
1
解决办法
4810
查看次数

标签 统计

installer ×1

messagebox ×1

nsis ×1

windows-installer ×1