我們有Windows服務將由安裝程序安裝。我們有一個選項允許用戶提供端口號並選擇服務是否必須在安裝完成時開始。我們正在檢查安裝程序本身以檢查端口是否打開/可用。檢查端口是否分配給任何程序或添加到防火牆中 - C#
TcpClient TcpScan = new TcpClient();
TcpScan.Connect("localhost", portno);
if (TcpScan.Connected == true)
{
TcpScan.Close();
}
我的問題是,如果用戶選擇的不是選項來啓動上安裝該服務,然後我們用相同的端口在同一臺機器上安裝另一個實例作爲第一個使用,那麼如果我們開始這兩個服務,然後其中一個服務將無法正常工作。
那麼有什麼辦法可以檢查用戶提供的端口是否已經存在於防火牆中,或者是否已經分配給其他一些Windows服務? (同時假設服務可以處於停止狀態)