Я пытаюсь написать сценарий 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"/>
Если я попытаюсь зарегистрировать файл WixFirewallExtension.dll с помощью regsrv32, я получу эту ошибку:
Модуль 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 начал его использовать?