退出后台WPF应用程序以安装更新版本

时间:2017-08-28 06:55:55

标签: c# wpf

我正在为我的WPF应用程序使用Visual Studio Installer。

我的应用程序始终在后台运行。

当我想安装较新版本的应用程序时,安装程​​序会说应用程序文件正在使用中,它将在安装后重新启动Windows。

如何在安装程序启动时退出应用程序,以便应用程序文件不会被使用,我可以阻止重启?

2 个答案:

答案 0 :(得分:0)

您可以在安装

中为安装程序添加自定义操作

enter image description here

此自定义操作可以首先使用shell脚本或vb脚本终止正在运行的任务。我可以建议您的vb脚本有点像:

Dim oShell
Dim myApp

Set oShell = CreateObject("WScript.Shell")

'Find myApp in running processes'
for each Process in Service.InstancesOf ("Win32_Process")
if Process.Name = "myApp.exe" then
    myApp = Process
end if
next

'Exit myApp'
myApp.SendKeys "exit~"

您可以将其作为.vbs文件存储在应用程序中,并将其用作安装程序项目的资源。

答案 1 :(得分:0)

不确定这是否对您有效... 我会尝试获取正在运行的应用程序的隐藏窗口并发送消息以关闭它。相关的API是 FindWindow SendMessage 。 但是,我不知道您是否可以在安装程序中对此进行编码。祝你好运