The following batch files can be used to create a secure set of Windows Defender Firewall Rules on Windows 10 / 11, for the EPIC Games Launcher Application, and any applications located within a subdirectory, or the root directory of the Default Installation Folder path:
NOTE: On Windows 10 / 11: Right-click on the following batch file after saving it, and click “Run as administrator”.
(1.) Use Notepad to create this file on your desktop or another folder: EPIC_Launcher_App_Firewall_Rule_Creator.bat
@ECHO OFF
SETLOCAL EnableDelayedExpansion
CD /D "%~dp0"
DEL /Q "%~dp0EPIC_FrWll_GENERATOR_RNGE_*_SMPL_.txt" 2> nul
IF NOT EXIST "%LocalAppData%\EpicGamesLauncher\Saved\Config\Windows\GameUserSettings.ini" GOTO EPIC_LAUNCHER_FR_WLL_LST_LNE
IF NOT EXIST "%ProgramFiles(x86)%\Epic Games" GOTO EPIC_LAUNCHER_FR_WLL_LST_LNE
IF NOT EXIST "%ProgramData%\Epic" GOTO EPIC_LAUNCHER_FR_WLL_LST_LNE
(TYPE "%LocalAppData%\EpicGamesLauncher\Saved\Config\Windows\GameUserSettings.ini"| FIND "VaultCacheDirectories"> "%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt") >nul 2>&1
TYPE "%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt"| FIND /V "" /C> "%~dp0EPIC_FrWll_GENERATOR_RNGE_3_SMPL_.txt"
SET /P EPIC_LAUNCHER_FR_WLL_TST_SRT_VAL_RNGE_=<"%~dp0EPIC_FrWll_GENERATOR_RNGE_3_SMPL_.txt"
IF %EPIC_LAUNCHER_FR_WLL_TST_SRT_VAL_RNGE_% EQU 0 GOTO EPIC_LAUNCHER_FR_WLL_SKP_CHK_1_
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt") DO ((SET TMP_VAR_=%%A)&(ECHO !TMP_VAR_:~22!> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"))
CALL :EPIC_LAUNCHER_FR_WLL_PRE_SRT_
:EPIC_LAUNCHER_FR_WLL_SKP_CHK_1_
(TYPE "%LocalAppData%\EpicGamesLauncher\Saved\Config\Windows\GameUserSettings.ini"| FIND "DefaultAppInstallLocation"> "%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt") >nul 2>&1
TYPE "%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt"| FIND /V "" /C> "%~dp0EPIC_FrWll_GENERATOR_RNGE_3_SMPL_.txt"
SET /P EPIC_LAUNCHER_FR_WLL_TST_SRT_VAL_RNGE_=<"%~dp0EPIC_FrWll_GENERATOR_RNGE_3_SMPL_.txt"
IF %EPIC_LAUNCHER_FR_WLL_TST_SRT_VAL_RNGE_% EQU 0 GOTO EPIC_LAUNCHER_FR_WLL_SKP_CHK_2_
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt") DO ((SET TMP_VAR_=%%A)&(ECHO "!TMP_VAR_:~26!^\">> "%~dp0EPIC_FrWll_GENERATOR_RNGE_2_SMPL_.txt"))
REG QUERY "HKLM\SOFTWARE\WOW6432Node\Rockstar Games\Rockstar Games Social Club"| FINDSTR /LC:"InstallFolder"> "%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt"
REG QUERY "HKLM\SOFTWARE\WOW6432Node\Rockstar Games\Launcher"| FINDSTR /LC:"InstallFolder">> "%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0EPIC_FrWll_GENERATOR_RNGE_0_SMPL_.txt") DO ((SET TMP_VAR_=%%A)&(IF EXIST "!TMP_VAR_:~31!" (ECHO "!TMP_VAR_:~31!^\">> "%~dp0EPIC_FrWll_GENERATOR_RNGE_2_SMPL_.txt")))
:EPIC_LAUNCHER_FR_WLL_SKP_CHK_2_
SETLOCAL DisableDelayedExpansion
DEL /Q "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt" 2> nul
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0EPIC_FrWll_GENERATOR_RNGE_2_SMPL_.txt") DO (ECHO %%~A>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt")
SETLOCAL EnableDelayedExpansion
ECHO %ProgramFiles(x86)%\Epic Games^\>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
ECHO %ProgramFiles(x86)%\EasyAntiCheat^\>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
ECHO %ProgramFiles(x86)%\EasyAntiCheat_EOS^\>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
ECHO %ProgramData%\Epic^\>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt") DO ((SET TMP_VAR_=%%A)&(IF EXIST "!TMP_VAR_:~0,-1!" ((DIR /B /S /O:N "!TMP_VAR_:~0,-1!\*.exe">> "%~dp0EPIC_FrWll_GENERATOR_RNGE_4_SMPL_.txt") >nul 2>&1)))
TYPE "%~dp0EPIC_FrWll_GENERATOR_RNGE_4_SMPL_.txt"> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
IF EXIST "C:\Windows\system32\PnkBstrA.exe" ECHO C:\Windows\system32\PnkBstrA.exe>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
IF EXIST "C:\Windows\system32\PnkBstrB.exe" ECHO C:\Windows\system32\PnkBstrB.exe>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
IF EXIST "C:\Windows\SysWOW64\PnkBstrA.exe" ECHO C:\Windows\SysWOW64\PnkBstrA.exe>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
IF EXIST "C:\Windows\SysWOW64\PnkBstrB.exe" ECHO C:\Windows\SysWOW64\PnkBstrB.exe>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"
IF [%1]==[] GOTO EPIC_LAUNCHER_FR_WLL_SKP_LBL_1_
IF %1==BYPASS GOTO EPIC_LAUNCHER_FR_WLL_SKP_LBL_2_
:EPIC_LAUNCHER_FR_WLL_SKP_LBL_1_
CLS
CHOICE /C YN /N /M "CREATING FIREWALL RULES FOR: [%ProgramFiles(x86)%\Epic Games\] <- [Y/N] TO PROCEED?"
IF %ErrorLevel% EQU 2 GOTO EPIC_LAUNCHER_FR_WLL_LST_LNE
:EPIC_LAUNCHER_FR_WLL_SKP_LBL_2_
SET ALS_FrWll_STRT=EPIC_Launcher_App
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Remove-NetFirewallRule -DisplayName '%ALS_FrWll_STRT% * ( * )'}"
TYPE "%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt"| FIND /V "" /C> "%~dp0EPIC_FrWll_GENERATOR_RNGE_2_SMPL_.txt"
SET /P FRWLL_MAX_CNTR_NUM=<"%~dp0EPIC_FrWll_GENERATOR_RNGE_2_SMPL_.txt"
SET FRWLL_CNTR_NUM=1
SET FRWLL_INNR_CNTR_NUM=0
(SET FRWLLSRTRNGE_TMP_VAR_=)
(SET FRWLLSRTRNGE_TMP_VAR_2_=)
SET PDVAR_1=^^(
SET PDVAR_2=^^)
FOR /F "usebackq tokens=*" %%A IN ("%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt") DO ((SET _FRWLL_RL_SRT_=New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName '%ALS_FrWll_STRT% !FRWLL_CNTR_NUM! %PDVAR_1% %%~nA %PDVAR_2%' -Profile Any -Program '%%~sfA' -Protocol Any;)&(SET FRWLLSRTRNGE_TMP_VAR_=!FRWLLSRTRNGE_TMP_VAR_2_!!_FRWLL_RL_SRT_!)&(SET FRWLLSRTRNGE_TMP_VAR_2_=!FRWLLSRTRNGE_TMP_VAR_!)&(SET /A FRWLL_CNTR_NUM+=1)&(SET /A FRWLL_INNR_CNTR_NUM+=1)&(IF !FRWLL_CNTR_NUM! GTR %FRWLL_MAX_CNTR_NUM% (CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {!FRWLLSRTRNGE_TMP_VAR_2_!}"))&(IF !FRWLL_INNR_CNTR_NUM! EQU 25 ((CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {!FRWLLSRTRNGE_TMP_VAR_2_!}")&(SET FRWLLSRTRNGE_TMP_VAR_2_=)&(SET FRWLL_INNR_CNTR_NUM=0))))
GOTO EPIC_LAUNCHER_FR_WLL_LST_LNE
:EPIC_LAUNCHER_FR_WLL_PRE_SRT_
(SET EPIC_LAUNCHER_FR_WLL_TMP_VAR_=)
(SET EPIC_LAUNCHER_FR_WLL_TMP_VAR_2_=)
FOR /L %%A IN (1,1,100) DO (CALL :EPIC_LAUNCHER_FR_WLL_TST_ %%A)
(ECHO "%EPIC_LAUNCHER_FR_WLL_TMP_VAR_2_%")>> "%~dp0EPIC_FrWll_GENERATOR_RNGE_2_SMPL_.txt"
GOTO EPIC_LAUNCHER_INNR_FRWLL_LST_LNE_
:EPIC_LAUNCHER_FR_WLL_TST_
FOR /F "usebackq tokens=%1 delims=/" %%A IN ("%~dp0EPIC_FrWll_GENERATOR_RNGE_1_SMPL_.txt") DO ((SET EPIC_LAUNCHER_FR_WLL_TMP_VAR_=!EPIC_LAUNCHER_FR_WLL_TMP_VAR_2_!%%A^\)&(SET EPIC_LAUNCHER_FR_WLL_TMP_VAR_2_=!EPIC_LAUNCHER_FR_WLL_TMP_VAR_!))
GOTO :EOF
:EPIC_LAUNCHER_INNR_FRWLL_LST_LNE_
GOTO :EOF
:EPIC_LAUNCHER_FR_WLL_LST_LNE
DEL /Q "%~dp0EPIC_FrWll_GENERATOR_RNGE_*_SMPL_.txt" 2> nul
ENDLOCAL DisableDelayedExpansion
MOVE NUL 2>&0
NOTE: Most people use the root folder of the Default Installation Folder path, as the same install path for everything. In any other type of scenario, this may not work as expected. At that point, this batch file is a better choice, as it’s basically foolproof:
ALTERNATE: Use Notepad to create this file on your desktop or another folder: Simple_Firewall_Rule_Creator.bat
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET FN_VAR[0]_=""
SET FN_VAR[1]_=" "
SET FN_VAR[2]_="#"
SET FN_VAR[3]_="$"
SET FN_VAR[4]_="%"
SET FN_VAR[5]_="&"
SET FN_VAR[6]_="'"
SET FN_VAR[7]_="("
SET FN_VAR[8]_=")"
SET FN_VAR[9]_="*"
SET FN_VAR[10]_="+"
SET FN_VAR[11]_=","
SET FN_VAR[12]_="-"
SET FN_VAR[13]_="."
SET FN_VAR[14]_="/"
SET FN_VAR[15]_=":"
SET FN_VAR[16]_=";"
SET FN_VAR[17]_="<"
SET FN_VAR[18]_="="
SET FN_VAR[19]_=">"
SET FN_VAR[20]_="?"
SET FN_VAR[21]_="@"
SET FN_VAR[22]_="["
SET FN_VAR[23]_="\"
SET FN_VAR[24]_="]"
SET FN_VAR[25]_="^"
SET FN_VAR[26]_="`"
SET FN_VAR[27]_="{"
SET FN_VAR[28]_="|"
SET FN_VAR[29]_="}"
SET FN_VAR[30]_="~"
SET FN_VAR_MXCNT_=30
DEL /Q "%~dp0FrWll_GENERATOR_RNGE_*_SMPL_.txt" 2> nul
DEL /Q "%~dp0FrWll_GENERATOR_TMP_SMPL_*_.txt" 2> nul
SET SMPL_SRTFRWLLVAL_=0
IF [%1]==[] GOTO SMPLSRTLBL_FRWLL_RL_CRTE_0_
IF NOT %1==BYPASS GOTO SMPLSRTLBL_FRWLL_RL_CRTE_0_
IF [%2]==[] GOTO SMPLSRTLBL_FRWLL_RL_CRTE_0_
SET ALS_PRM_FrWll_VAR_=%2
CALL :SRT_TMP_SMPL_FrWll_1_ "%ALS_PRM_FrWll_VAR_%"
IF %TMP_SMPL_VAL_% GTR 0 (GOTO SMPLSRTLBL_FRWLL_RL_CRTE_0_)
SET ALS_FrWll_STRT=%ALS_PRM_FrWll_VAR_%
IF [%3]==[] GOTO SMPLSRTLBL_FRWLL_RL_CRTE_0_
FOR %%A IN (%*) DO (IF EXIST %%A ((SET SMPL_PTH_TST_FrwllVAR_=%%~sfA)&(IF "!SMPL_PTH_TST_FrwllVAR_:~-1!"=="\" (IF EXIST "!SMPL_PTH_TST_FrwllVAR_:~0,-1!" (SET PTH_FrWll_STRT=!SMPL_PTH_TST_FrwllVAR_:~0,-1!)))&(IF NOT "!SMPL_PTH_TST_FrwllVAR_:~-1!"=="\" (SET PTH_FrWll_STRT=!SMPL_PTH_TST_FrwllVAR_!))&((TYPE "%~dp0FrWll_GENERATOR_RNGE_2_SMPL_.txt"| FIND "!PTH_FrWll_STRT!" /C>"%~dp0FrWll_GENERATOR_RNGE_0_SMPL_.txt") >nul 2>&1)&(SET /P RNGE_SMPLFRWLL_VAL_CHK_=<"%~dp0FrWll_GENERATOR_RNGE_0_SMPL_.txt")&(IF !RNGE_SMPLFRWLL_VAL_CHK_! EQU 0 (ECHO !PTH_FrWll_STRT!>> "%~dp0FrWll_GENERATOR_RNGE_2_SMPL_.txt"))))
(TYPE "%~dp0FrWll_GENERATOR_RNGE_2_SMPL_.txt"| FIND /V "" /C> "%~dp0FrWll_GENERATOR_RNGE_0_SMPL_.txt") >nul 2>&1
SET /P RNGE_SMPLFRWLL_VAL_CHK_=<"%~dp0FrWll_GENERATOR_RNGE_0_SMPL_.txt"
IF %RNGE_SMPLFRWLL_VAL_CHK_% EQU 0 (GOTO SMPLSRTLBL_FRWLL_RL_CRTE_0_)
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0FrWll_GENERATOR_RNGE_2_SMPL_.txt") DO ((DIR /B /S /O:N "%%A\*.exe">> "%~dp0FrWll_GENERATOR_RNGE_1_SMPL_.txt") >nul 2>&1)
SET SMPL_SRTFRWLLVAL_=1
GOTO SMPLSRTLBL_FRWLL_RL_CRTE_1_
:SMPLSRTLBL_FRWLL_RL_CRTE_0_
:RESET_LBL_FRWLL_RL_CRTE_SMPLE_
SET TMP_SMPL_VAL_=0
CLS
ECHO ...SELECT FOLDER NAME AND ALIAS FOR FIREWALL SCRIPT GENERATOR
SET /P PTH_PRM_FrWll_VAR_TMP_="[FOLDER NAME]: "
CALL :CVRT_83_PATH_FRWLL_RL_CRTE_SMPLE_ "%PTH_PRM_FrWll_VAR_TMP_%"
IF NOT EXIST "%PTH_PRM_FrWll_VAR_%" (GOTO RESET_LBL_FRWLL_RL_CRTE_SMPLE_)
SET /P ALS_PRM_FrWll_VAR_="[GROUP/ALIAS]: "
CALL :SRT_TMP_SMPL_FrWll_1_ "%ALS_PRM_FrWll_VAR_%"
IF %TMP_SMPL_VAL_% GTR 0 (GOTO RESET_LBL_FRWLL_RL_CRTE_SMPLE_)
IF "%PTH_PRM_FrWll_VAR_:~-1%"=="\" (IF EXIST "%PTH_PRM_FrWll_VAR_:~0,-1%" (SET PTH_FrWll_STRT=%PTH_PRM_FrWll_VAR_:~0,-1%))
IF NOT "%PTH_PRM_FrWll_VAR_:~-1%"=="\" (SET PTH_FrWll_STRT=%PTH_PRM_FrWll_VAR_%)
SET ALS_FrWll_STRT=%ALS_PRM_FrWll_VAR_%
CHOICE /C YN /N /M "FOLDER PATH: [%PTH_FrWll_STRT%] GROUP/ALIAS: [%ALS_FrWll_STRT%] <- [Y/N] TO PROCEED?"
IF %ErrorLevel% EQU 2 GOTO RESET_LBL_FRWLL_RL_CRTE_SMPLE_
(DIR /B /S /O:N "%PTH_FrWll_STRT%\*.exe"> "%~dp0FrWll_GENERATOR_RNGE_1_SMPL_.txt") >nul 2>&1
:SMPLSRTLBL_FRWLL_RL_CRTE_1_
TYPE "%~dp0FrWll_GENERATOR_RNGE_1_SMPL_.txt"| FIND /V "" /C> "%~dp0FrWll_GENERATOR_RNGE_2_SMPL_.txt"
SET /P FRWLL_MAX_CNTR_NUM=<"%~dp0FrWll_GENERATOR_RNGE_2_SMPL_.txt"
SET FRWLL_CNTR_NUM=1
SET FRWLL_INNR_CNTR_NUM=0
(SET FRWLLSRTRNGE_TMP_VAR_=)
(SET FRWLLSRTRNGE_TMP_VAR_2_=)
SET PDVAR_1=^^(
SET PDVAR_2=^^)
ECHO @ECHO OFF> "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat"
ECHO SETLOCAL>> "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat"
ECHO PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Remove-NetFirewallRule -DisplayName '%ALS_FrWll_STRT% * ( * )'}">> "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat"
FOR /F "usebackq tokens=*" %%A IN ("%~dp0FrWll_GENERATOR_RNGE_1_SMPL_.txt") DO ((SET _FRWLL_RL_SRT_=New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName '%ALS_FrWll_STRT% !FRWLL_CNTR_NUM! %PDVAR_1% %%~nA %PDVAR_2%' -Profile Any -Program '%%~sfA' -Protocol Any;)&(SET FRWLLSRTRNGE_TMP_VAR_=!FRWLLSRTRNGE_TMP_VAR_2_!!_FRWLL_RL_SRT_!)&(SET FRWLLSRTRNGE_TMP_VAR_2_=!FRWLLSRTRNGE_TMP_VAR_!)&(SET /A FRWLL_CNTR_NUM+=1)&(SET /A FRWLL_INNR_CNTR_NUM+=1)&(IF !FRWLL_CNTR_NUM! GTR %FRWLL_MAX_CNTR_NUM% (ECHO CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {!FRWLLSRTRNGE_TMP_VAR_2_!}">> "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat"))&(IF !FRWLL_INNR_CNTR_NUM! EQU 25 ((ECHO CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {!FRWLLSRTRNGE_TMP_VAR_2_!}">> "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat")&(SET FRWLLSRTRNGE_TMP_VAR_2_=)&(SET FRWLL_INNR_CNTR_NUM=0))))
ECHO ENDLOCAL>> "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat"
ECHO MOVE NUL 2^>^&^0>> "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat"
IF %SMPL_SRTFRWLLVAL_% EQU 0 (ECHO ...BATCH FILE CREATED: "%~dp0%ALS_FrWll_STRT%-Firewall_Rule_Generator.bat")
IF %SMPL_SRTFRWLLVAL_% EQU 0 PAUSE
GOTO LST_LNE_FRWLL_RL_CRTE_SMPLE_
:SRT_TMP_SMPL_FrWll_1_
IF %1==%FN_VAR[0]_% (ECHO ^1>> "%~dp0FrWll_GENERATOR_TMP_SMPL_1_.txt")
FOR /L %%A IN (1,1,%FN_VAR_MXCNT_%) DO (((ECHO %1| FIND !FN_VAR[%%A]_! /C)>> "%~dp0FrWll_GENERATOR_TMP_SMPL_1_.txt") >nul 2>&1)
(TYPE "%~dp0FrWll_GENERATOR_TMP_SMPL_1_.txt"| FIND "1" /C> "%~dp0FrWll_GENERATOR_TMP_SMPL_2_.txt") >nul 2>&1
SET /P TMP_SMPL_VAL_=<"%~dp0FrWll_GENERATOR_TMP_SMPL_2_.txt"
DEL /Q "%~dp0FrWll_GENERATOR_TMP_SMPL_*_.txt" 2> nul
GOTO :EOF
:CVRT_83_PATH_FRWLL_RL_CRTE_SMPLE_
SET PTH_PRM_FrWll_VAR_=%~sf1
GOTO :EOF
:LST_LNE_FRWLL_RL_CRTE_SMPLE_
DEL /Q "%~dp0FrWll_GENERATOR_RNGE_*_SMPL_.txt" 2> nul
ENDLOCAL DisableDelayedExpansion
MOVE NUL 2>&0
SIDE NOTE: If you put BYPASS in front of the first batch file, it will create a firewall ruleset for the app, and the all the associated games, unattended in the background:
CMD /Q /C START /MIN /REALTIME %UserProfile%\Desktop\EPIC_Launcher_App_Firewall_Rule_Creator.bat BYPASS
Alternate:
CMD /Q /C START /MIN /REALTIME /WAIT /B %UserProfile%\Desktop\EPIC_Launcher_App_Firewall_Rule_Creator.bat BYPASS