我正在使用msiexec.exe
安装带有/passive
选项的MSI,以阻止取消。
问题是如果Windows Installer检测到需要重新启动系统,则在安装完成后立即重新启动,这会中断用户的工作。
我可以使用/norestart
来避免中断。
但是,有没有办法首先延迟执行重启?像/forcerestarteventually
这样的东西?
在NSIS安装程序中,我只调用Windows shutdown.exe
实用程序。我想在自定义操作中使用/norestart
和SystemRebootPending
是一种可能性。
这种方法有没有问题,还是有更容易的东西?
使用WIX开发MSI for XP / Win7 - 在Windows Installer版本要求上相当容易。
答案 0 :(得分:1)
没有'force-restart-finally'选项。但是,Restart Manager API可以消除或减少完成安装或更新所需的系统重新启动次数。可以将自定义Windows安装程序设计为调用Restart Manager API以直接关闭和重新启动应用程序和服务,以避免需要重新启动系统。如果系统重新启动是不可避免的,安装程序可以使用InitiateShutdown或ExitWindowsEx函数来安排它,以最大限度地减少对用户的干扰。请参阅主要的Restart Manager文档,另请参阅Windows安装程序文档中的Using Windows Installer with Restart Manager部分。