安装程序停止服务并提供正在使用的文件警告

时间:2015-04-06 20:10:06

标签: wix windows-installer

我有一个WiX安装程序项目,它安装了一个客户端应用程序和一个Windows服务。它被设置为在安装期间停止服务。但是,它仍然显示错误窗口“以下应用程序正在使用安装程序必须更新的文件”和“再试一次”,“继续”和“取消”选项。如果我选择继续并检查安装程序的Windows事件日志,则会显示正在停止并再次启动的服务。 StopServices元素位于推荐的序列位置。

如何避免错误窗口?

[编辑]我的理解是,列出文件的顺序并不重要,因为Windows安装程序在复制任何文件之前会停止服务。我想知道是否需要首先列出服务exe。

1 个答案:

答案 0 :(得分:0)

最佳解决方案:使用“ServiceInstall”和“ServiceControl”元素确保正确停止/启动(和安装/卸载)服务。

事实上,在我们的安装程序中,应用程序和服务正在自定义安装程序代码中停止/启动。但是,在运行自定义安装程序代码之前检查文件是否正在使用。因此,安装程序启动时文件正在使用,但在安装程序尝试复制文件时尚未使用。这对用户来说很烦人,但实际上并不是问题。如果在安静模式下使用msiexec.exe安装,则安装成功。

此外,在实际关闭之前,我们还遇到了从关闭调用返回的服务的另一个问题。 (由@PhilDW评论)。