为私人和公共配置文件添加NSIS防火墙例外

foo*_*bar 1 nsis windows-firewall

我想将我的应用程序添加到Windows防火墙的excpetion列表中.我正在使用NSIS简单防火墙插件并执行以下操作.

SimpleFC::AddApplication "${PRODUCT_NAME}" "$INSTDIR/${PRODUCT_NAME}.exe" 3 2 "" 1
Pop $0 ; return error(1)/success(0)
Run Code Online (Sandbox Code Playgroud)

我的应用程序已成功添加到防火墙例外列表,但问题是我想为公共和专用网络配置文件添加例外,如下所示: 在此输入图像描述

但是在所提到的插件中没有相同的选项,默认情况下会选择当前活动的配置文件(公共或私有).

我已经探索了其他nsis防火墙插件,但没有一个具有此功能.有人可以告诉我前进的方向吗?我可以考虑为自己编写一个自定义插件.

但我只是想知道,它是否可以实现或者是否存在任何基本阻碍?

虽然,您始终可以手动选中这两个复选框.

Mic*_*hne 7

我无法让任何NSIS防火墙插件为我正常工作.我最终只是在我的目标系统上进行了netsh:

在安装部分:

ExecWait 'netsh advfirewall firewall add rule name=MyProg dir=in action=allow program="$INSTDIR\MyProg.exe" enable=yes profile=public,private'
Run Code Online (Sandbox Code Playgroud)

在卸载部分:

ExecWait 'netsh advfirewall firewall delete rule name=MyProg'
Run Code Online (Sandbox Code Playgroud)