Использование расширения брандмауэра в WiX

Я пытаюсь написать скрипт WiX, который использует расширение брандмауэра для WiX, и кажется, что он не находит расширение dll (я думаю).

Ошибка, которую я вижу, заключается в следующем:

Элемент File содержит необработанный элемент расширения 'fire:FirewallException'.
Убедитесь, что было предоставлено расширение для элементов в пространстве имен "http://schemas.microsoft.com /wix/FirewallExtension".

и соответствующая часть моего источника WiX это:


 
  
   

Если я пытаюсь зарегистрировать файл 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...
Другие вопросы по тегам