静默模式下的NSIS自动接受对话框

时间:2013-02-14 13:38:17

标签: nsis

我有一个带有自定义对话框的nsis安装程序,其中有一个Accept按钮但是当我以静默模式运行它时,它不接受该对话框。如何让它自动点击默认接受?

2 个答案:

答案 0 :(得分:3)

  • 如果您的对话框是标准MessageBox,只需将/SD button_id_to_use参数添加到MessageBox instruction即可告诉NSIS在静默模式下使用的选项:

    MessageBox MB_YESNO "Accept?" /SD IDNO IDNO Skipped
    
  • 如果您的对话框是自定义页面,问题是在静默模式下,根本不涉及任何页面(甚至隐藏),并且不会触发页面回调。您需要检查IfSilent,然后分别从.onInit或部分调用“接受”按钮触发的逻辑。

答案 1 :(得分:1)

IfSilent Accepted
MessageBox MB_YESNO "Accept?" IDNO Skipped
Accepted:
// some code when accepted

Skipped: