Использование расширения брандмауэра в WiX
Я пытаюсь написать скрипт WiX, который использует расширение брандмауэра для WiX, и кажется, что он не находит расширение dll (я думаю).
Ошибка, которую я вижу, заключается в следующем:
Элемент File содержит необработанный элемент расширения 'fire:FirewallException'.
Убедитесь, что было предоставлено расширение для элементов в пространстве имен "http://schemas.microsoft.com /wix/FirewallExtension".
и соответствующая часть моего источника WiX это:
xml version = "1.0" encoding = "windows-1252"?>
Если я пытаюсь зарегистрировать файл 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 начал использовать его?
3 ответа
Нашел ответ после еще нескольких копаний:
Мне нужно было указать расширение в командной строке light.exe, например:
light myfile.wxs -ext WixFirewallExtension -out myfile.wixobj
Вы должны добавить ссылку "WixFirewallExtension.dll" в ваш проект WIX, чтобы решить эту проблему.
Добавление "WixFirewallExtension.dll" в ваш проект WIX решит проблему. Для этого выполните следующие действия:-
- Откройте проект в визуальной студии.
- Щелкните правой кнопкой мыши на проекте wix
- Добавить ссылку на вышеупомянутую DLL...