Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在WiX中使用防火墙扩展_Windows_Wix_Wix Extension - Fatal编程技术网

Windows 在WiX中使用防火墙扩展

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

我正在尝试编写一个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:\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