【发布时间】:2015-07-26 04:32:14
【问题描述】:
我的 NSIS 安装程序将 .Net framework 4.0 与我的应用程序包一起静默安装。平台是 Win Xp / 7 / 8。
ExecWait '"$TEMP\app-temp\dotNetFx40.exe" /q /norestart'
现在的问题是,如果 dotNetFx40 安装程序返回需要使用 3010 代码重新启动,则应在继续之前重新启动 Windows。我不能跳过这个,因为我的应用程序依赖于 .Net 框架,而且在安装过程中需要使用 .Net 注册一些 dll。
为了解决这个问题,我可以显示一个消息框(YES_NO)并要求重新启动(在消息框 IDYES 上触发 NSIS Reboot 命令),并且可以在下次启动后通过注册表 RunOnce 方法继续安装。
现在,只有在 .Net 安装程序报告 3010 错误时才应该这样做,这可能是少数系统的情况,但不是每个系统。
我可以看到,事件查看器参考 RestartManager 记录了这一点,但我认为使用 NSIS 读取事件查看器是不可能的。那么有没有其他方法可以读取这个.Net安装程序的返回码呢?
【问题讨论】:
标签: installation nsis