У нас есть служба Windows, которая будет установлена установщиком.У нас есть возможность разрешить пользователю указывать номер порта и выбирать, должна ли служба запускаться после завершения установки.У нас проверяется сам установщик для проверки, открыт ли порт / доступен.
TcpClient TcpScan = new TcpClient();
TcpScan.Connect("localhost", portno);
if (TcpScan.Connected == true)
{
TcpScan.Close();
}
Моя проблема в том, что если пользователь выбирает вариант не запускать службу при установке, а затем мы устанавливаем другой экземплярна той же машине с тем же портом, который использовался в первом, тогда, если мы запустим обе службы, то одна из служб не будет работать.
Так есть ли способ проверить, предоставлен ли порт пользователемуже есть в брандмауэре или уже назначен какой-либо другой службе Windows?(Также предположим, что служба может быть в остановленном состоянии)