JavaScript との通信に使用する単純な Web ソケット サーバー アプリケーション ( SuperWebSocket ) があります。ここでの考え方は、ローカル アプリケーションがブラウザと通信できるようにすることです。Windows 7 & 8 プラットフォーム用にこのアプリケーションを開発しています。
私が抱えている問題は、最初の実行中に、Windows ファイアウォールがパブリック ドメインへの通信をブロックするためのセキュリティ アラートを表示することです。私のアプリケーションは PC の外部のリソースと通信しないため、ブロック解除またはブロックのどちらを選択しても、アプリケーションは動作します。
私の質問は、このセキュリティ警告をプログラムで回避できますか? PC がファイアウォール アクセスを許可していない場合、警告を出さずにサイレント モードでブロックできるようにすることはできますか?
WiX インストーラーを使用して、アプリケーションを配布する MSI パッケージを作成しています。インストール時にファイアウォールのアクセス許可を設定する方法はありますか?
基本的な考え方は、最小限のユーザー操作でプログラムを実行できるようにすることです。
前もって感謝します。
アップデート:
問題は、ソケットを利用可能なすべてのインターフェースにバインドする SuperWebSocket にあったようです。これに似た何か、
TcpListener _listener = new TcpListener(IPAddress.Any, 21000);
ただし、このようなものを使用すると、
TcpListener _listener = new TcpListener(IPAddress.Loopback, 21000);
警告は表示されなくなりました。これを Windows 8 PC でテストしました。