У меня есть приложение Windows Forms, которое выполняется локально на рабочем столе пользователя. Единственный способ, которым он обращается к Интернету, - это запустить System.Diagnostics.Process.Start(url), чтобы запустить браузер по умолчанию пользователя и указать его на различные URL-адреса (чтобы проверить наличие обновлений, связаться с нами и т.д.). И ничто из этого не происходит, если пользователь явно запрашивает его, щелкнув пункт меню или кнопку.
На моей машине я случайно получал предупреждение о брандмауэре Windows при запуске программы, говоря, что брандмауэр Windows "заблокировал некоторые функции" программы для защиты компьютера. Иногда я получаю это предупреждение при запуске моей программы в Visual Studio (и в диалоговом окне предупреждения говорится, что vshost был заблокирован из сети). Это происходит не всегда.
Я не слышал от кого-либо из моих клиентов, что это происходит на их ПК, но это не значит, что это не так. И это несколько пугающее предупреждение для менее технически опытного пользователя, поэтому я хотел бы выяснить, как его устранить, если это возможно.
Что может сделать моя программа для запуска этого предупреждения?
Изменить: Единственная необычная вещь, которую моя программа делает при запуске, заключается в том, что она использует класс Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase для принудительного применения одного экземпляра приложения. Я знаю, что это заставляет задуматься над несколькими потоками, чтобы обнаружить новые экземпляры и перенаправить их. Возможно ли, что он прослушивает сеть по какой-то причине?