gpt4 book ai didi

inno-setup - 在 Inno Setup 中使用 "taskkill/f/im"在(重新)安装之前杀死进程

转载 作者:行者123 更新时间:2023-12-04 16:17:56 35 4
gpt4 key购买 nike

我安装了一个服务/守护进程,在卸载和重新安装之前需要将其杀死。

我已经发现 how to do it for uninstall :

[UninstallRun]
Filename: "taskkill"; Parameters: "/im ""My Service.exe"" /f"; Flags: runhidden
[Run]但是,部分在安装后运行,所以我不能使用它。使用 taskkill 终止进程的最佳方法是什么?安装前?

请注意,我特别想终止该进程。 A more complex solution using IPC在我的情况下没有任何好处,我只想执行 taskkill在安装特定文件之前。

最佳答案

我找到了一种使用 BeforeInstall 的方法参数和代码部分中的简单 Pascal 脚本函数。我添加了一个字符串参数,以便它可以被多个进程重用。

[Files]
Source: "My Service 1.exe"; DestDir: "{app}"; Flags: ignoreversion; \
BeforeInstall: TaskKill('My Service 1.exe')
Source: "My Service 2.exe"; DestDir: "{app}"; Flags: ignoreversion; \
BeforeInstall: TaskKill('My Service 2.exe')
[Code]
procedure TaskKill(FileName: String);
var
ResultCode: Integer;
begin
Exec('taskkill.exe', '/f /im ' + '"' + FileName + '"', '', SW_HIDE,
ewWaitUntilTerminated, ResultCode);
end;

关于inno-setup - 在 Inno Setup 中使用 "taskkill/f/im"在(重新)安装之前杀死进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33776405/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com