【问题标题】:Why does the MSI Setup ask for reboot on update?为什么 MSI 安装程序在更新时要求重新启动?
【发布时间】:2015-09-17 14:58:16
【问题描述】:

如果我们运行软件更新,我们会收到以下消息。安装程序是使用 WiX 工具集构建的。

安装程序包含 Windows 服务。该服务在复制文件之前从设置中停止,但在此消息之后。最后不需要重新启动。为什么会出现此消息?我们如何防止这种情况发生?

这里是服务声明:

<Component Guid="xxx" Id="service">
    <File Id="Service.exe" Name="Service.exe" Source="C:\xxx\prunsrv.exe"/>
    <ServiceInstall Arguments=" foo" Description="xyz" DisplayName="foo Server" ErrorControl="normal" Id="service_install" Name="foo-server" Start="auto" Type="ownProcess"/>
    <ServiceControl Id="service_start" Name="foo-server" Remove="uninstall" Start="install" Stop="both"/>
</Component>

【问题讨论】:

    标签: wix windows-installer installation reboot


    【解决方案1】:

    当它说“....文件或服务...”时,这只是一个通用消息。这并不意味着您的服务导致了这种情况。

    在获取详细日志的同时进行安装,并查找引用正在使用文件的 1603 消息之类的内容,看看您是否可以跟踪这些文件。

    经常发生的情况是 Windows 检查并发现它需要替换当时正在使用的一些文件。这就是为什么它说“......选择继续......”。但是当它实际替换这些文件时,发现它们不再使用,因此不需要重新启动。所以这是一个时间问题。

    我想知道您是否取消了 FilesInUse 对话框,因为 Windows 安装程序通常会告诉您需要停止哪些进程以避免重新启动。因此,就好像您已经抑制了 FilesInUse 对话框,因此 InstallValidate 检测到一些正在使用的文件并为您提供有关重新启动的一般消息。但是,当它开始替换这些文件时,可能需要几分钟,它们不再使用,因此无需重新启动即可替换它们。

    无论如何,该 FilesInUse 评论是没有更多信息的推测,但没有发生重新启动的原因是文件在物理替换它们时不再使用。

    【讨论】:

    • 我没有禁用 FilesInUse。我简单地使用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    相关资源
    最近更新 更多