Freigeben über


Windows-Firewall für Spieleentwickler

In diesem Artikel wird die Windows-Firewall beschrieben, warum sie vorhanden ist, was sie erreicht, und wie dies geschieht. Am wichtigsten ist, wie Sie Ihr Spiel so konfigurieren, dass es gut mit der Firewall funktioniert.

Inhalt:

Was ist eine Firewall?

Die Firewall bietet eine Barriere gegen netzwerkbasierte Angriffe. Es blockiert unerwünschten eingehenden Datenverkehr und macht das System meist unsichtbar im Internet, indem Internet Control Message Protocol (ICMP)-Anforderungen abgelehnt werden. Dies bedeutet, dass Ping und Tracert nicht funktionieren. Die Firewall sucht und lehnt auch ungültige Pakete ab.

Diese Barriere verhindert opportunistische Angriffe. Angriffe verbreiten sich, indem viele Systeme mit der gleichen Sicherheitsanfälligkeit gefunden werden. Die Firewall kann viele Angriffe verhindern, indem ein "Nicht stören"-Zeichen für diese Features eingerichtet wird, die derzeit nicht verwendet werden; der Angriff wird ignoriert und schlägt nicht nach Hause. Der wesentliche Vorteil der Windows-Firewall besteht darin, dass Features und Anwendungen, die nicht verwendet werden, keine Möglichkeiten für Angriffe sein können.

Der Benutzer konfiguriert das System, um zu ermitteln, welche Anwendungen und Features erforderlich sind, und sollte für das Netzwerk geöffnet sein. Dies geschieht entweder, wenn eine Anwendung installiert wird oder wenn sie versucht, sich im Netzwerk zu öffnen.

Wie kann ich feststellen, ob mein Spiel betroffen ist?

Mit der Ankunft von Windows XP SP2 wurde die Windows-Firewall weit verbreitet. Alle Multiplayer-Windows-Spiele sind bis zu einem gewissen Grad betroffen. Während Clients in der Regel in guter Form sind, benötigen Server, Hosts und Peers in Peer-to-Peer die Firewall so konfiguriert, dass sie weiterhin funktioniert. Insbesondere wird eingehender unerwünschter Datenverkehr gelöscht. Die Firewall fängt Netzwerkdatenverkehr-Filterpakete basierend auf den Paketinhalten und der letzten Netzwerkaktivität ab. Die Firewall verwendet die Inhalte und Aktivitäten, um zu entscheiden, ein Paket weiterzuleiten oder abzulegen. Sobald die Firewall ordnungsgemäß konfiguriert ist, kann ein Spiel eingehenden nicht angeforderten Datenverkehr wie zuvor annehmen.

Wer hat unerwünschten Datenverkehr?

  • Client/Server: Alle Teilnehmer stellen eine Verbindung mit einem zentralen Server her. Der zentrale Server ist der server mit eingehendem unerwünschtem Datenverkehr. Die Clients, die eine Verbindung mit dem Server herstellen, fordern Rückgabedatenverkehr an, der erwartet wird und die Firewall passieren darf, wenn die Regeln für Clients befolgt werden. Der zentrale Server muss so konfiguriert werden, dass der unerwünschte Datenverkehr akzeptiert wird, damit der Clientdatenverkehr über die Firewall geleitet werden kann.
  • Massive Multiplayer (MMP): Alle Teilnehmer sind mit einem Rechenzentrum verbunden. Dies entspricht einer komplexen Client-/Serverbeziehung, da das Rechenzentrum über den eingehenden, unerwünschten Datenverkehr verfügt. Die Teilnehmer sind Clients, und im Allgemeinen müssen sie keinen unerwünschten Datenverkehr akzeptieren.
  • Peer-to-Peer, bei dem alle Teilnehmer direkt miteinander verbunden sind: Alle Teilnehmer müssen bereit sein, unerwünschten Datenverkehr von jedem neuen Spieler zu akzeptieren, der der Gruppe beitritt. In einem Sinne müssen alle Teilnehmer als Host fungieren, sodass sie alle so konfiguriert werden müssen, als wären sie Hosts.

Kunden sind in der Regel in guter Form. Ihre ausgehenden TCP/IP-Verbindungen (Transmission Control Protocol/Internet Protocol) funktionieren einwandfrei, wie ausgehende UDP-Nachrichten (User Datagram Protocol) zusammen mit rechtzeitigen Antworten auf diese Nachrichten – die Firewall hält den Port 90 Sekunden nach jeder ausgehenden Nachricht in Erwartung einer Antwort geöffnet.

Die Firewall vor Windows XP SP2

Die Internetverbindungsfirewall (Internet Connection Firewall, ICF) in Windows XP und Windows Server 2003 ist ein zustandsbehafteter Paketfilter und behandelt sowohl Internetprotokoll, Version 4 (IPv4) als auch Internetprotokoll, Version 6 (IPv6). Es ist jedoch nicht standardmäßig aktiviert und unterstützt keine Drittanbieter-Netzwerkstapel, von denen es eine erhebliche Zahl in der Welt gibt, wie große Internetanbieter einschließlich nationaler Telefongesellschaften.

Für diejenigen, die sich nicht unter Windows XP SP2 befinden, wird das Aktivieren des ICF dringend empfohlen. Die Internet Connection Firewall (ICF) stellt die Portzuordnung bereit, um den Paketfilter außer Kraft zu setzen. Im Wesentlichen geben Sie den zu öffnenden Port an, und er bleibt geöffnet, bis Sie ihn schließen. Wenn der Benutzer vor dem Schließen neu gestartet wird, bleibt er bis zum speziellen Schließen geöffnet. Die Kontrolle der Firewall und der Verwaltung der Portzuordnungen erfolgt über INetSharingManager (IPv4) und INetFwV6Mgr (IPv6).

Die Windows-Firewall für Windows XP SP2 ist eine umfassendere Lösung, die Netzwerkstapel von Drittanbietern unterstützt und Ports intelligenter behandelt: Ports werden nur geöffnet, solange die Anwendung, die sie benötigt, noch aktiv ist.

Windows XP SP2 Firewall ist besser

Windows XP SP2 stellt die Sicherheitsoptionen und -einstellungen vor. Das Ziel besteht darin, standardmäßig zu schützen und dem Benutzer zu ermöglichen, informierte Entscheidungen darüber zu treffen, welche Anwendungen auf ihrem Computer ausgeführt werden dürfen.

Die neue Windows-Firewall ist sowohl für Windows XP SP2 als auch für Windows Server 2003 Service Pack 1 (SP1) verfügbar. Wie der ICF ist es eine Softwarefirewall, die sowohl IPv4 als auch IPv6 unterstützt, aber im Gegensatz zu ICF der Windows-Firewall:

  • Verfügt über den Startzeitschutz des Systems, wodurch während des Starts ein kleines Sicherheitsfenster beseitigt wird.
  • Unterstützt Netzwerkstapel von Drittanbietern.
  • Verfügt über einen Modus "Aktiviert ohne Ausnahmen", der alle unerwünschten eingehenden Pakete blockiert. Dies ist großartig, wenn Sie ein öffentliches Netzwerk verwenden, z. B. in einem Flughafen oder Café.

Im Modus "Ein ohne Ausnahmen" werden alle statischen Löcher geschlossen. API-Aufrufe zum Öffnen eines statischen Lochs sind zulässig, aber zurückgestellt; d. h., sie werden erst angewendet, wenn die Firewall wieder zum normalen Betrieb wechselt. Alle Listenanforderungen von Anwendungen werden ebenfalls ignoriert. Ausgehende Verbindungen sind weiterhin erfolgreich.

Für neue Anwendungen fügen Sie Ihre Anwendung während der Installation zur "Ausnahmenliste" hinzu. Sie können die Anwendung mithilfe der INetFwAuthorizedApplications Schnittstelle hinzufügen und den vollständigen Pfad bereitstellen. Wir behandeln die Details im Beispiel.

Als Nebenhinweis fragen Sie sich vielleicht, ob es sich um ein Sicherheitsrisiko handelt, das Anwendungen hinzufügen und aus der Ausnahmenliste alle Benutzerinteraktionen entfernen können, oder vielleicht denken Sie, dass das größere Risiko besteht, dass Anwendungen die Firewall vollständig deaktivieren können. Um diese Aufgaben auszuführen, muss die Anwendung über Administratorrechte verfügen. Wenn Auf Ihrem System bösartiger Code im Administratormodus ausgeführt wird, ist das Spiel bereits vorbei und der Hacker hat bereits gewonnen. Die Fähigkeit des Hackers, die Firewall zu deaktivieren, würde etwas mehr als eine Fußnote verdienen.

Ältere Anwendungen, einschließlich Anwendungen, die vor dem Upgrade des Benutzers auf Windows XP SP2 installiert wurden, werden mit dem Popup "Ausnahmenliste" behandelt (siehe Abbildung 1). Dieses Dialogfeld wird angezeigt, wenn eine Anwendung versucht, einen Port für eingehenden Datenverkehr zu öffnen – entweder beim Aufrufen von Bind() mit einem Nicht-Null-Port für UDP oder accept() für TCP/IP-Protokoll. Sie müssen als Administrator ausgeführt werden, um "Blockierung aufheben"-Anwendungen aufzuheben, während "Später fragen" diese Zeit nicht mehr zuweige, aber beim nächsten Mal erneut fragt.

Dies ist ein nicht blockierende, modales Systemdialogfeld. Wenn Sie eine Vollbild-Microsoft Direct3D-Anwendung ausführen, wird das Dialogfeld darunter angezeigt. und der Benutzer kann ihn dann behandeln, wenn die Anwendung den Vollbildmodus oder alt-tabs zurück zum Desktop verlässt. Es ist jedoch nicht immer offensichtlich, dass dieses Dialogfeld beim Ausführen eines Spiels im Vollbildmodus angezeigt wurde. Daher ist es wichtig, zu vermeiden, dass dieses Dialogfeld mithilfe von INetFwAuthorizedApplications Schnittstelle angezeigt wird, wie unten beschrieben.

Abbildung 1. Popupdialogfeld 'Ausnahmenliste'

Popupdialogfeld für Ausnahmenliste

Sie werden feststellen, dass das Popup den Namen und den Herausgeber der Anwendung kennt. Es gibt hier keine Magie - es wird aus den Versionsinformationen der ausführbaren Datei abgerufen. Diese Informationen sind ein wichtiges Systemverwaltungstool; sie wird sogar für die laufende Anwendungskompatibilität verwendet. Einige Anwendungen vernachlässigen diese Versionsinformationen up-to-date.

Benutzer können ihre Anwendungen auch über die Benutzeroberfläche (UI) hinzufügen (siehe Abbildung 2)

Abbildung 2. Konfigurieren der Firewall

Konfigurieren der Firewall-

Abbildung 3. Hinzufügen eines Programms zur Firewall-Ausnahmenliste

Hinzufügen eines Programms zur Firewall-Ausnahmenliste

Das beste Szenario besteht darin, Ergänzungen und Entfernungen aus der Ausnahmeliste automatisiert zu machen. Die beste Zeit, diese Ergänzungen und Entfernungen durchzuführen, ist während des Installations- und Deinstallationsprozesses. Für das Hinzufügen oder Entfernen aus der Firewallausnahmeliste sind Administratorrechte erforderlich. Achten Sie daher darauf, dies zu berücksichtigen.

Arbeiten mit der Windows-Firewall

Auch hier müssen die meisten Spiele nur der Firewall-Ausnahmeliste hinzugefügt werden, wenn sie als Server funktionieren können oder wenn sie ein Peer-to-Peer-Kommunikationsprotokoll implementieren. Die FirewallInstallHelper.dll ist eine Beispiel-DLL, die von einem Installationsprogramm aufgerufen werden kann. Die Quelle wird bereitgestellt, wenn Sie die Quelle direkt in Ihre eigene Anwendung integrieren möchten. Das Beispiel finden Sie hier:

Datei
Quelle: (SDK-Stamm)\Samples\C++\Misc\FirewallInstallHelper
Ausführbare Datei: (SDK-Stamm)\Samples\C++\Misc\Bin\<arch>\FirewallInstallHelper.dll

 

Die von dieser DLL exportierten Funktionen sind die folgenden:

AddApplicationToExceptionListW

Diese Funktion fügt der Ausnahmeliste eine Anwendung hinzu. Er benötigt einen vollständigen Pfad zur ausführbaren Datei und einen Anzeigenamen, der in der Firewall-Ausnahmeliste angezeigt wird. Für diese Funktion sind Administratorrechte erforderlich.

AddApplicationToExceptionListA

ANSI-Version von AddApplicationToExceptionListW

RemoveApplicationFromExceptionListW

Mit dieser Funktion wird die Anwendung aus der Ausnahmeliste entfernt. Er übernimmt einen vollständigen Pfad zur ausführbaren Datei. Für diese Funktion sind Administratorrechte erforderlich.

RemoveApplicationFromExceptionListA

ANSI-Version von RemoveApplicationFromExceptionListW

CanLaunchMultiplayerGameW

Diese Funktion meldet, ob die Anwendung deaktiviert oder aus der Ausnahmenliste entfernt wurde. Es sollte jedes Mal aufgerufen werden, wenn das Spiel ausgeführt wird. Die Funktion nimmt einen vollständigen Pfad zur ausführbaren Datei ein. Für diese Funktion sind keine Administratorrechte erforderlich.

CanLaunchMultiplayerGameA

ANSI-Version von CanLaunchMultiplayerGameW

SetMSIFirewallProperties

Rufen Sie dies nur auf, wenn Sie benutzerdefinierte Aktionen in Windows Installer verwenden. Weitere Details finden Sie weiter unten.

AddToExceptionListUsingMSI-

Rufen Sie dies nur auf, wenn Sie benutzerdefinierte Aktionen in Windows Installer verwenden. Weitere Details finden Sie weiter unten.

RemoveFromExceptionListUsingMSI-

Rufen Sie dies nur auf, wenn Sie benutzerdefinierte Aktionen in Windows Installer verwenden. Weitere Details finden Sie weiter unten.

In den folgenden Abschnitten werden bestimmte Methoden zum Aufrufen der exportierten DLL-Funktionen aus dieser FirewallInstallHelper aus einem InstallShield-, Wise- oder Windows Installer-Paket beschrieben. Alle Methoden rendern dieselben Ergebnisse, und es liegt an dem Entwickler, zu bestimmen, welche Methode implementiert werden soll.

Integration mithilfe von InstallShield InstallScript

Eine alternative Methode zur Verwendung der Firewall-APIs besteht darin, die Funktionsaufrufe einem InstallShield InstallScript hinzuzufügen. Die für die Integration erforderlichen Schritte sind relativ einfach:

  1. Öffnen Sie ein InstallScript-Projekt im InstallShield-Editor.

  2. Fügen Sie dem Projekt die FirewallInstallHelper.dll als Supportdatei hinzu.

    1. Öffnen Sie auf der Registerkarte "Projekt-Assistent" die Registerkarte "Anwendungsdateien".
    2. Klicken Sie auf die Schaltfläche "Dateien hinzufügen", um dem Anwendungszielordner Dateien hinzuzufügen.
    3. Navigieren Sie zu den FirewallInstallHelper.dll, die Sie erstellt haben, oder verwenden Sie das im DirectX SDK bereitgestellte, und fügen Sie es dem Projekt hinzu.
  3. Fügen Sie "InstallScript" zum Projekt hinzu.

    1. Öffnen Sie die Ansicht "Installations-Designer", und klicken Sie auf das Verhalten und die Logik | InstallScript
    2. Klicken Sie auf die InstallScript-Datei (in der Regel setup.rul), um sie im Editor zu öffnen.
    3. Fügen Sie den folgenden Code in die InstallScript-Datei ein:
    #include "ifx.h"
    
    prototype BOOL FirewallInstallHelper.AddApplicationToExceptionListW( WSTRING, WSTRING );
    prototype BOOL FirewallInstallHelper.RemoveApplicationFromExceptionListW( WSTRING );
    
    function OnMoved()
        WSTRING path[256];
    begin
        // The DLL has been installed into the TARGETDIR
        if !MAINTENANCE then // TRUE when installing
            UseDLL( TARGETDIR ^ "FirewallInstallHelper.dll" );
            path = TARGETDIR ^ "TODO: change to relative path to executable from install directory";
            FirewallInstallHelper.AddApplicationToExceptionListW( path, "TODO: change to friendly app name" );
            UnUseDLL( TARGETDIR ^ "FirewallInstallHelper.dll" );
        endif;
    end;
    
    
    function OnMoving()
        WSTRING path[256];
    begin
        // The DLL is about to be removed from TARGETDIR
        if MAINTENANCE && UNINST != "" then // TRUE when uninstalling
            UseDLL( TARGETDIR ^ "FirewallInstallHelper.dll" );
            path = TARGETDIR ^ "TODO: change to relative path to executable from install directory";
            FirewallInstallHelper.RemoveApplicationFromExceptionListW( path );
            UnUseDLL( TARGETDIR ^ "FirewallInstallHelper.dll" );
        endif;
    end;
    
    1. Ändern Sie die TODO-Kommentare mit dem Anwendungsnamen, der in der Firewall-Ausnahmeliste und dem Pfad zur ausführbaren Datei des Spiels relativ zum Installationsverzeichnis angezeigt wird.

Integration in Weise für Windows Installer

Für die Integration mit Wise für Windows Installer müssen die folgenden Schritte ausgeführt werden:

  1. Öffnen Sie Ihr Wise für Windows Installer-Projekt.

  2. Wählen Sie unten die Registerkarte "Installationsexperte" aus.

  3. Klicken Sie auf "Dateien", und fügen Sie den FirewallInstallHelper.dll aus dem DXSDK zum Installationsverzeichnis des Spiels hinzu.

  4. Wählen Sie unten die Registerkarte "MSI-Skript" aus.

  5. Wählen Sie die Registerkarte "Direkt ausführen" am unteren Rand aus.

  6. Fügen Sie nach CostFinalize eine Aktion "Eigenschaft festlegen" hinzu, die FULLPATH auf "[INSTALLDIR]relativer Pfad zur ausführbaren Datei aus dem Installationsverzeichnis" festlegt. Beispiel: "[INSTALLDIR]game.exe" ohne anführungszeichen

  7. Wählen Sie die Registerkarte "Verzögert ausführen" am unteren Rand aus.

  8. Fügen Sie nach PublishProduct eine "If-Anweisung" mit der Bedingung "NOT Installed" hinzu (Groß-/Kleinschreibung wird beachtet).

  9. Fügen Sie innerhalb des If-Blocks eine Aktion "Benutzerdefinierte DLL vom Ziel aufrufen" hinzu.

    1. Legen Sie das DLL-Dateifeld auf "[INSTALLDIR]FirewallInstallHelper.dll" fest.
    2. Legen Sie das Feld "Funktionsname" auf "AddApplicationToExceptionListA" fest.
    3. Fügen Sie einen Parameter mit dem Typ "String Pointer", der Wertquelle "Property" und dem Eigenschaftennamen "FULLPATH" hinzu.
    4. Fügen Sie einen zweiten Parameter mit dem Typ "string pointer", der Wertquelle "Constant" hinzu, und legen Sie den Konstantenwert auf den Anzeigeanwendungsnamen fest, der in der Firewallausnahmeliste angezeigt werden soll.
    5. Schließen Sie den If-Block, indem Sie eine "End-Anweisung" hinzufügen.
  10. Fügen Sie direkt oberhalb der RemoveFiles-Aktion oben einen weiteren If-Block hinzu, wobei die Bedingung "REMOVE~="ALL"" lautet (Groß-/Kleinschreibung und ohne äußere Anführungszeichen).

  11. Fügen Sie innerhalb des zweiten If-Blocks eine Aktion "Benutzerdefinierte DLL vom Ziel aufrufen" hinzu.

    1. Legen Sie das DLL-Dateifeld auf "[INSTALLDIR]FirewallInstallHelper.dll" fest.
    2. Legen Sie das Feld "Funktionsname" auf "RemoveApplicationFromExceptionListA" fest.
    3. Fügen Sie einen Parameter mit dem Typ "String Pointer", der Wertquelle "Property" und dem Eigenschaftennamen "FULLPATH" hinzu.
    4. Schließen Sie den zweiten If-Block, indem Sie eine "End-Anweisung" hinzufügen.

Integration in Windows Installer

Um windows Installer auf hoher Ebene zu integrieren, müssen diese Schritte ausgeführt werden. Sie werden im Folgenden ausführlich erläutert:

  • Fügen Sie 2 Eigenschaften "FriendlyNameForFirewall" und "RelativePathToExeForFirewall" hinzu, wie unten beschrieben.
  • Rufen Sie nach der CostFinalize-Aktion "SetMSIFirewallProperties" in einer unmittelbaren benutzerdefinierten Aktion auf, um die entsprechenden MSI-Eigenschaften für die anderen benutzerdefinierten Aktionen festzulegen.
  • Rufen Sie während der Installation nach der InstallFiles-Aktion eine verzögerte benutzerdefinierte Aktion auf, die die "AddToExceptionListUsingMSI"-Funktion von FirewallInstallHelper verwendet.
  • Rufen Sie während der Deinstallation nach der InstallFiles-Aktion eine verzögerte benutzerdefinierte Aktion auf, die die "RemoveFromExceptionListUsingMSI"-Funktion von FirewallInstallHelper verwendet.
  • Rufen Sie während des Rollbacks eine verzögerte benutzerdefinierte Aktion auf, die auch die "RemoveFromExceptionListUsingMSI"-Funktion von FirewallInstallHelper aufruft.

Im Folgenden finden Sie die erforderlichen Schritte, um dies mithilfe eines MSI-Editors wie Orca im Platform SDK auszuführen. Beachten Sie, dass einige Editoren Über Assistenten verfügen, die einige der folgenden Schritte vereinfachen:

  1. Öffnen Sie das MSI-Paket in Orca.

  2. Fügen Sie der Binärtabelle Folgendes hinzu:

    Name Daten
    FIREWALL Zeigen Sie es auf die FirewallInstallHelper.dll. Diese Datei wird in das MSI-Paket eingebettet, sodass Sie diesen Schritt jedes Mal ausführen müssen, wenn Sie FirewallInstallHelper.dllneu kompilieren.

     

  3. Fügen Sie der CustomAction-Tabelle Folgendes hinzu:

    Aktion Art Quelle Ziel
    FirewallSetMSIProperties msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue = 65 FIREWALL SetMSIFirewallProperties
    FirewallAdd msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3137 FIREWALL AddToExceptionListUsingMSI
    FirewallRemove msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3137 FIREWALL RemoveFromExceptionListUsingMSI
    FirewallRollBackAdd msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeRollback + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3393 FIREWALL RemoveFromExceptionListUsingMSI
    FirewallRollBackRemove msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeRollback + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3393 FIREWALL AddToExceptionListUsingMSI

     

  4. Fügen Sie der Tabelle "InstallExecuteSequence" Folgendes hinzu:

    Aktion Zustand Reihenfolge Notizen
    FirewallSetMSIProperties 1010 Dies wird bald nach CostFinalize platziert.
    FirewallAdd NICHT installiert 4021 Diese benutzerdefinierte Aktion tritt nur während einer Neuinstallation auf. Die Sequenznummer platziert die Aktion nach InstallFiles und nach den Rollbacks.
    FirewallRollBackAdd NICHT installiert 4020 Diese benutzerdefinierte Aktion tritt nur auf, wenn eine neu installierte Installation abgebrochen wird. Die Sequenznummer platziert die Aktion nach InstallFiles und vor der benutzerdefinierten Aktion hinzufügen.
    FirewallRemove Installierte 3461 Diese benutzerdefinierte Aktion wird nur während der Deinstallation ausgeführt. Die Sequenznummer platziert die Aktion direkt vor RemoveFiles und nach den Rollbacks.
    FirewallRollBackRemove NICHT installiert 3460 Diese benutzerdefinierte Aktion tritt nur auf, wenn eine Deinstallation abgebrochen wird. Die Sequenznummer platziert die Aktion direkt vor RemoveFiles und vor der benutzerdefinierten Aktion entfernen.

     

  5. Fügen Sie der Eigenschaftstabelle Folgendes hinzu:

    Eigentum Wert
    FriendlyNameForFirewall Muss der Name sein, der in der Ausnahmeliste angezeigt wird. Beispiel: "Beispielspiel"
    RelativePathToExeForFirewall Muss die installierte ausführbare Datei des Spiels sein. Beispiel: "ExampleGame.exe"

     

Weitere Informationen zu Windows Installer finden Sie unter Windows Installer.

Empfehlungen

Die Firewall ist hier, um zu bleiben. Diese Empfehlungen bieten Ihren Kunden eine gute Firewallerfahrung mit Ihrem Windows-Spiel:

  • Bitten Sie Benutzer nicht, die Firewall zum Spielen Ihres Spiels zu deaktivieren. Dies macht den gesamten Computer anfällig, auch wenn sie Ihr Spiel nicht spielen.
  • Sorgen Sie dafür, dass die Firewallkonfiguration für Ihre Benutzer nahtlos ist. Fügen Sie Die Anwendung während der Installation zur Ausnahmeliste hinzu, und entfernen Sie die Anwendung während der Installation aus der Ausnahmeliste.
  • Geben Sie dem Benutzer Feedback, wenn Multiplayer durch den Firewallstatus blockiert wird. Deaktivieren Sie beispielsweise Netzwerkfeatures, wenn sie nicht funktionieren, weil die Anwendung nicht zulässig ist oder sich das System im Modus "Keine Ausnahmen" befindet.