【问题标题】:Silent Windows Installer installer without rebooting automatically静默 Windows Installer 安装程序,无需自动重新启动
【发布时间】:2011-11-25 09:51:46
【问题描述】:

目前我有一个执行重大升级的MSI,它的启动方式为:

msiexec.exe /i installer.msi /qn REBOOT=ReallySuppress

我的问题是关于那个特定属性 REBOOT=ReallySuppress:这是否意味着当用户手动重新启动系统时它不会重新启动系统但会进行适当的更改(如果应用)?还是会直接忽略那些需要重启系统的东西?

【问题讨论】:

    标签: windows-installer restart reboot silent


    【解决方案1】:

    安装程序执行所有操作。 REBOOT 属性的值 ReallySuppress/norestart option,如果需要,只需抑制系统重新启动。 msiexec.exe 退出代码将为 3010 (ERROR_SUCCESS_REBOOT_REQUIRED) 以指示调用应用程序需要重新启动系统。

    安装过程中使用的文件将被移走,并在系统重新启动时被永久删除。建议尽快重新启动系统,因为在此之前某些进程将使用旧的(锁定的)文件,而新进程将使用新的更新文件,因此存在歧义的余地,特别是因为可能存在注册表变化也是如此。因此,/noreboot 选项在您有多个要安装的软件包并且您想在最后一个软件包之后重新启动时很有用,但前提是它是绝对必要的。只是忽略重新启动提示并不是一个好方法。

    【讨论】:

    • 感谢您的回答 Alexey,我只是想知道您在哪里找到这些信息,因为在 Windows Installer 文档 (msdn.microsoft.com/en-us/library/windows/desktop/…) 中我找不到这样的信息。问候!
    • @Santiago 是的,这个页面没有提到它。然而,这就是它的工作方式。它来自经验。
    • @Stephen 我同意 Windows Installer 可以替换正在使用的文件,但通常不会因为 DLL 版本之间的歧义。如果它被替换,则不需要重新启动。 Raymond Chen 解释why Windows will not replace files in use。在 Windows 7 中,Windows Installer 使用 Restart Manager 来防止系统重新启动,它可以安全地 避免它。
    • Windows 安装程序替换遇到的正在使用的文件,安排重新启动,除非您主动禁止它。但是,如果您使用的是 RestartManager,那么情况会得到更好的管理,因为正在使用的文件将通过关闭任何正在使用它们的进程来解锁。不过,RM 不会阻止重启,它只是有助于避免重启。
    猜你喜欢
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    相关资源
    最近更新 更多