【发布时间】:2013-02-15 01:41:23
【问题描述】:
我有一个带有自定义对话框的 nsis 安装程序,其中有一个接受按钮,但是当我在静默模式下运行它时,它不接受该对话框。如何让它自动点击接受?
【问题讨论】:
标签: nsis
我有一个带有自定义对话框的 nsis 安装程序,其中有一个接受按钮,但是当我在静默模式下运行它时,它不接受该对话框。如何让它自动点击接受?
【问题讨论】:
标签: nsis
如果您的对话框是标准的MessageBox,只需将/SD button_id_to_use 参数添加到MessageBox instruction 以告诉NSIS 在静默模式下使用什么选项:
MessageBox MB_YESNO "Accept?" /SD IDNO IDNO Skipped
如果您的对话框是自定义页面,问题是在静默模式下,根本不涉及任何页面(甚至隐藏),也不会触发页面回调。您需要检查IfSilent 并调用由Accept 按钮触发的逻辑,与.onInit 或部分分开。
【讨论】:
/SD和按钮的ID来选择静音模式,你需要把它放在消息和按钮列表
IfSilent Accepted
MessageBox MB_YESNO "Accept?" IDNO Skipped
Accepted:
// some code when accepted
Skipped:
【讨论】:
IfSilent 测试模拟:MessageBox 的/SD 参数专用于静音模式