Ein Windows-Firewall-Popup wird vermieden

8

Meine Organisation produziert eine Reihe von Windows-Anwendungen, die das Netzwerk nutzen. Wenn Benutzer unsere Software zum ersten Mal ausführen, öffnet die Windows-Firewall (falls sie ausgeführt wird) ein Popup-Fenster, das den Benutzer darüber informiert, dass unsere App (s) versuchen, das Netzwerk zu verwenden, und fordern den Benutzer auf, den Zugriff zuzulassen oder zu verweigern.

Dies tritt bei vielen anderen Apps auf (Spotify, um ein Beispiel zu nennen), aber wir möchten diese Popups verhindern, da sie für unsere Benutzer ein wenig problematisch sein können. Einige Anwendungen (MSN Messenger, GoogeTalk) funktionieren, ohne dass die Firewall den Benutzer alarmiert, und wir möchten das Gleiche tun.

Wir haben dies unter Windows XP erfolgreich durchgeführt, indem unser Installationsprogramm die entsprechenden Registrierungsschlüssel unter:

geschrieben hat

HKLM \ SYSTEM \ ControlSet001 \ Dienste \ SharedAccess \ Parameters \ FirewallPolicy \ StandardProfile \ AuthorizedApplications \ List

Dies wirkt sich jedoch nicht auf Windows 7 aus - die Firewall-Popups finden weiterhin statt.

Irgendwelche Ideen, wie wir das machen können? (Unsere Installationsprogramme und Software sind alle digital signiert.)

Danke Tom Davies

    
Tom Davies 24.08.2010, 16:06
quelle

3 Antworten

8

Sie können Ausnahmen zur Windows-Firewall hinzufügen, indem Sie netsh aussortieren, ein Dienstprogramm, das in Windows integriert ist, aber das Dienstprogramm funktioniert anders unter Windows XP und Windows 7. Hier sind die Befehle, die ich verwendet habe:

Windows XP:

hinzufügen: netsh firewall add allowedprogram mode=ENABLE profile=ALL name=[exception name] program=[program path]

entfernen: netsh firewall delete allowedprogram profile=ALL program=[program path]

Windows 7:

hinzufügen: netsh advfirewall firewall add rule action=allow profile=any protocol=any enable=yes direction=[in|out] name=[exception name] program=[program path]

entfernen: advfirewall firewall delete rule profile=any name=[exception name]

    
Kevin Kibler 25.08.2010 12:48
quelle
6

Ich rate aus mehreren Gründen davon ab, dies zu einem Installationsproblem zu machen:

  • Es gibt mehrere Softwarefirewalls dort draußen; Sie können nicht codieren und testen für alle von ihnen.

  • Einige (z. B. die integrierten Fenster Firewall) haben APIs, die nicht funktionieren Ermöglicht Ihnen, den Port zu konfigurieren Ausnahmen, wenn die FW deaktiviert ist.
    Wenn der Benutzer später die FW aktiviert sind wieder abgespritzt.

  • Es könnte externe Firewalls geben das bringt dich immer noch.

Stattdessen bevorzuge ich eine Dokumentation, damit Benutzer und Administratoren die Netzwerkanforderungen genau kennen. Ich musste einmal die Apple-Website googeln, um herauszufinden, welche Ports iTunes benötigt, und ich schwöre bei Gott, dass sie es wirklich schwer machten, sie zu finden, als sie versuchten, alles für die Konsumenten aufzuweichen.

Wenn Sie jedoch bei der Installation die größtmögliche Sorgfalt walten lassen möchten, verfügt WiX über eine benutzerdefinierte Aktionserweiterung für die Interaktion mit der Firewall, anstatt eigene benutzerdefinierte Aktionen zu erstellen. Selbst wenn Sie ein anderes Tool wie InstallShield verwenden, können Sie dieses Verhalten in ein WiX-Mergemodul einfügen und es dann mit Ihrem primären Werkzeug der Wahl verwenden.

Sie können es hier lesen:

Joy Of Setup-Blog

und

WiX-Dokumentation

    
Christopher Painter 25.08.2010 01:29
quelle
1

In Ihrem Installer (zB als Administrator) müssen Sie Code schreiben, um auf die Windows-Firewall-APIs und fügen Sie Ihre App als Ausnahme hinzu

    
Paul Betts 24.08.2010 19:23
quelle

Tags und Links