Search code examples
inno-setuppascalscript

How to check if port is usable in Inno Setup?


I need to check some port is usable or not? How can do that in Inno Setup? Is there any way to use socket in to Inno Setup? Is there any library for this? If there how can import it and use it?

Thank you for your answers.


Solution

  • You can use my function to check, if a port is available:

    function CheckPortOccupied(Port:String):Boolean;
    var
      ResultCode: Integer;
    begin
      Exec(ExpandConstant('{cmd}'), '/C netstat -na | findstr'+' /C:":'+Port+' "', '', 0,
           ewWaitUntilTerminated, ResultCode);
      if ResultCode <> 1 then 
      begin
        Log('this port('+Port+') is occupied');
        Result := True; 
      end
        else
      begin
        Result := False;
      end;
    end;