Windows 在WiX中使用防火墙扩展
我正在尝试编写一个WiX脚本,它使用WiX的防火墙扩展,但它似乎找不到扩展dll(我想) 我看到的错误是: File元素包含未处理的扩展元素“fire:FirewallException”。Windows 在WiX中使用防火墙扩展,windows,wix,wix-extension,Windows,Wix,Wix Extension,我正在尝试编写一个WiX脚本,它使用WiX的防火墙扩展,但它似乎找不到扩展dll(我想) 我看到的错误是: File元素包含未处理的扩展元素“fire:FirewallException”。 请确保http://schemas.microsoft.com /已提供wix/FirewallExtension的命名空间 我的WiX来源的相关部分如下: <?xml version="1.0" encoding="windows-1252"?> <Wix xmlns="http://s
请确保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:\ProgramFiles(x86)\Windows Installer XML v3.5\bin\WixFirewallExtension.dll是有效的dll或OCX文件,然后 再试一次
dll文件在我的路径中,但这可能无关紧要?我还需要做些什么才能让WiX开始使用它吗?在进一步挖掘后找到了答案: 我需要在light.exe的命令行上指定扩展名,如下所示:
light myfile.wxs -ext WixFirewallExtension -out myfile.wixobj
必须在WIX项目中添加“WixFirewallExtension.dll”引用才能解决此问题。在WIX项目中添加“WixFirewallExtension.dll”将解决此问题。 要执行此操作,请执行以下步骤:-
- 在visual studio中打开项目
- 右键单击wix项目
- 添加对上述dll的引用
为什么您尝试注册WixFirewallExtension.dll?您知道如何使用VisualStudio插件进行注册吗?我在程序文件(x86)/Wix Toolset/bin中找不到.dll