我们有使用nsis安装程序构建的软件。有一点,关于某些条件我们需要重启或不重启。
这不是问题。我们这样做:
;Reboot instructions. In silent mode just set a RebootFlag and otherwize show the confirmation box.
IfRebootFlag doReboot doNotReboot
doReboot:
IfSilent doSilent doNotSilent
doSilent:
;if silent, do not reboot
Goto doNotReboot
doNotSilent:
MessageBox MB_YESNO "A reboot is required to finish the installation. Do you wish to reboot now?" IDNO doNotReboot
Reboot
doNotReboot:
当软件通过我们的管理员通过软件分发安装(而不是由用户直接安装而不是静默)时,他们需要知道是否需要重新启动。
什么是让他们知道的好方法?为什么?
我们目前有两种选择。
先谢谢你的帮助。
答案 0 :(得分:1)
MsiExec.exe uses ERROR_SUCCESS_REBOOT_REQUIRED
。您可以使用SetErrorLevel
!ifndef ERROR_SUCCESS_REBOOT_REQUIRED
!define ERROR_SUCCESS_REBOOT_REQUIRED 3010
!endif
Section
IfRebootFlag ...
...
SetErrorLevel ${ERROR_SUCCESS_REBOOT_REQUIRED}
SectionEnd