繁体   English   中英

Inno Setup检测是否已安装Apache

[英]Inno Setup detect if Apache is installed

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

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

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

您可以使用以下答案中的代码:
如何使用Inno Setup检查进程是否在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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM