我有一个基于 Java Web-Start 的应用程序,它利用了几个本机“.exe”实用程序。所有 jar 都已签名,并且应用程序从用户那里获得所有可能的权限(<security><all-permissions/></security>
在 .jnlp 描述符中)。问题是其中一个“.exe”实用程序试图打开并侦听某个端口,这会导致标准 Windows 防火墙窗口弹出。例子:
(来源:7tutorials.com)
在用户同意在 JNLP 启动期间授予我的应用不受限制的权限后,我希望用户不要看到任何此类消息。据我所知,以编程方式添加防火墙规则既可以使用netsh 工具,也可以通过修改注册表来执行,这两者都需要管理员权限。
我尝试使用Elevation PowerToys,从 Java 调用它们,但它们弹出另一条消息,明确请求管理员权限。
问题:有什么方法可以将我的“.exe”实用程序的规则添加到 Windows 防火墙中,而不会因额外的权限请求而激怒用户?