为什么MSI安装程序要求在更新时重新启动?

时间:2015-09-17 14:58:16

标签: wix windows-installer installer reboot

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

该设置包含Windows服务。在复制文件之前,服务将从设置中停止,但在此消息之后。最后不需要重启。为什么会出现此消息?我们怎样才能阻止这种情况?

MSI reboot message

这里是服务声明:

<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>

1 个答案:

答案 0 :(得分:2)

当它说&#34; ....文件或服务......&#34;这只是一个通用的消息。它并不意味着您的服务正在造成这种情况。

在执行详细日志时进行安装,并查找1603条消息,这些消息引用正在使用的文件,并查看是否可以跟踪文件。

经常发生的是Windows检查并发现它需要替换当时正在使用的某些文件。这就是为什么它说&#34; ...选择继续......&#34;。但是,当它实际替换这些文件时,它发现它们不再被使用,因此不需要重新启动。所以这是一个时机。

我想知道您是否已经抑制了FilesInUse对话框,因为Windows Installer常常告诉您需要停止哪些进程以避免重新启动。因此,它几乎就像您已经抑制了FilesInUse对话框一样,因此InstallValidate会检测一些正在使用的文件,并为您提供有关重新启动的常规消息。但是,当它更换这些文件时,可能需要几分钟,它们不再使用,因此可以在不重新启动的情况下更换它们。

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