Inno Setup检测是否已安装Apache

时间:2018-12-14 17:45:08

标签: windows apache process installer inno-setup

是否有万无一失的方法可以使用Inno Setup来检测是否在计算机上安装了Apache for Windows?我正在使用没有内置安装程序的Apache Lounge版本(https://www.apachelounge.com/download/),但是如果需要,它会安装特定的服务。

我可以搜索计算机上是否存在Windows服务,但是恐怕其他Apache版本可能会安装其他服务或根本不安装任何服务(但它可能仍在后台运行并产生干扰)。 / p>

1 个答案:

答案 0 :(得分:0)

您可以检查名称中包含“ apache”关键字(甚至服务都是进程)的任何正在运行的进程。

您可以使用以下答案中的代码:
How to check with Inno Setup, if a process is running at a Windows 2008 R2 64bit?

只需将查询替换为:

Format('SELECT Name FROM Win32_Process Where Name like "%%%s%%"', [FileName])

然后您可以像使用它一样

function InitializeSetup(): Boolean;
begin
  Result := True;
  if IsAppRunning('apache') then
  begin
    MsgBox('Apache is installed and running, cannot proceed.', mbError, MB_OK);
    Result := False;
  end;
end;