Я пытаюсь написать сценарий 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 начал его использовать?