Inno setup 在Inno安装程序中安装之前,执行自定义命令关闭正在运行的进程

Inno setup 在Inno安装程序中安装之前,执行自定义命令关闭正在运行的进程,inno-setup,Inno Setup,由Inno Setup创建的My Setup.exe在我尝试安装更新时检测到安装中的一个可执行文件当前正在运行 我选择“自动关闭应用程序”,然后按“下一步”。Inno安装程序似乎做了一些事情来关闭此应用程序,但它没有正确地关闭它 系统托盘图标消失,但进程仍在运行 我不知道Inno安装程序是如何试图关闭这个应用程序的,但不管它在做什么,它都不工作 应用程序有一个参数/exitall,该参数关闭此应用程序的所有实例,包括其自身 在Inno Setup检测到正在运行的应用程序之前运行Setup.exe

由Inno Setup创建的My Setup.exe在我尝试安装更新时检测到安装中的一个可执行文件当前正在运行

我选择“自动关闭应用程序”,然后按“下一步”。Inno安装程序似乎做了一些事情来关闭此应用程序,但它没有正确地关闭它

系统托盘图标消失,但进程仍在运行

我不知道Inno安装程序是如何试图关闭这个应用程序的,但不管它在做什么,它都不工作

应用程序有一个参数
/exitall
,该参数关闭此应用程序的所有实例,包括其自身

在Inno Setup检测到正在运行的应用程序之前运行Setup.exe时,是否有方法执行命令行命令?

用于执行“kill”命令:

过程CurStepChanged(CurStep:TSetupStep);
变量
AppPath:string;
结果代码:整数;
开始
如果CurStep=ssInstall,则
开始
日志('安装…');
AppPath:=ExpandConstant('{app}\MyProg.exe');
如果文件不存在(AppPath),则
开始
日志(格式('应用程序%s尚未安装',[AppPath]);
结束
其他的
开始
日志(格式('已安装应用程序%s,正在运行清理过程…',[AppPath]);
如果未执行(应用路径“/exitall“,”,软件显示正常,EWWAIT未过滤,
结果代码)然后
开始
日志('未能运行清理过程');
结束;
结束;
结束;
结束;


虽然标准的方法是使用
AppMutex
指令来阻止安装程序在用户关闭应用程序之前继续进行。

@MartinPrikryl是的,我有一个干净的方法来关闭应用程序。我只需要知道如何执行我的自定义命令,然后安装程序就会自动关闭它。@MartinPrikryl Done。