我正在尝试编写一个使用 WiX 防火墙扩展的 WiX 脚本,但它似乎找不到扩展 dll(我认为)。
我看到的错误是这样的:
File 元素包含未处理的扩展元素“fire:FirewallException”。
请确保“http://schemas.microsoft.com”中元素的扩展名
/wix/FirewallExtension' 命名空间已提供。
我的 WiX 源代码的相关部分是这样的:
<?xml version="1.0" encoding="windows-1252"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension">
<Component Id="Firewall" Guid="7278f07d-de6f-497f-9267-d5feb5216a5c" Directory="NotUsed">
<File KeyPath="yes" Source="C:\Program Files\Java\jdk1.6.0_32\bin\java.exe">
<fire:FirewallException Id="FWX1" Name="My Program" Port="80" Protocol="tcp"/>
如果我尝试使用 regsrv32 注册 WixFirewallExtension.dll 文件,我会收到此错误:
模块 C:\Program Files (x86)\Windows Installer XML
v3.5\bin\WixFirewallExtension.dll 已加载,但入口点
未找到 DllRegisterServer。
确保 C:\Program Files (x86)\Windows Installer XML
v3.5\bin\WixFirewallExtension.dll 是一个有效的 DLL 或 OCX 文件,然后
再试一次
dll 文件在我的路径中,但这可能并不重要?我还需要做其他事情才能让 WiX 开始使用它吗?
经过更多挖掘后找到了答案:
我需要在 light.exe 的命令行上指定扩展名,如下所示:
light myfile.wxs -ext WixFirewallExtension -out myfile.wixobj
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)