我有一个安装oracle XE数据库的安装程序。最近,我被要求在安装过程中以编程方式关闭/阻止端口1521。我的应用程序是使用Wix 3.8安装的。我见过Wix防火墙扩展,但我没有看到指定动作的方法(即“阻止”)。我想阻止该端口上的所有传入流量,有效地关闭了侦听器。
还有另一种方法可以做到这一点,还是我错过了Wix的东西?
答案 0 :(得分:1)
如果 Wix扩展程序不支持此功能(这会让我感到惊讶),也许您可以尝试使用此VBScript。
请注意,我没有编写此脚本,也没有使用它。 谨慎使用,风险自负。在虚拟机上测试。
Set objFirewall = CreateObject("HNetCfg.FwMgr")
Set objPolicy = objFirewall.LocalPolicy.CurrentProfile
Set colPorts = objPolicy.GloballyOpenPorts
Set objPort = colPorts.Item(9999,6)
objPort.Enabled = FALSE
类似的代码,但使用C#:Automating Windows Firewall with
答案 1 :(得分:1)
更新:我们无法让WiX安装程序执行我们想要的操作,因此我们编写了自己的自定义进程(不是CustomAction),它在安装后运行。
3个主要步骤是:
> TCP.VALIDNODE_CHECKING=YES > TCP.INVITED_NODES = 127.0.0.1
> exec DBMS_XDB.SETLISTENERLOCALACCESS(true); > SHUTDOWN IMMEDIATE > STARTUP
希望这有帮助!