Настройки Wix Boostrapper, чтобы брандмауэр не блокировал приложение - PullRequest
0 голосов
/ 07 мая 2020

Нигде не могу найти, как настроить параметры в загрузчике wix, чтобы брандмауэры и антивирусы не воспринимали его как угрозу. Мой загрузчик на других устройствах отображает информацию о том, что это угроза. Или он не запускается без какой-либо информации.

Edit:

Я создаю что-то вроде этого:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:fw="http://schemas.microsoft.com/wix/FirewallExtension">
<Bundle Name="Bootstrapper13" Version="1.0.0.0" Manufacturer="" UpgradeCode="86064926-b150-448f-aba9-fb0c8f4a83b5">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />       
    <Chain>
        <PackageGroupRef Id='Netfx4Full' />
  <MsiPackage Id="MainPackage" SourceFile="..\SetupProject1.msi" DisplayInternalUI="yes" Compressed="yes" Vital="yes" />
    </Chain>
</Bundle>
<Fragment>
...
<PackageGroup Id="Netfx4Full">
  ...
</PackageGroup>
</Fragment>
<Fragment>
<Directory Id="FirewallDirectory" Name="SourceDir">
  <Component Id="cmpFirewallException" Guid="87617436-AE1C-4C87-BB2D-1CA3531DBC46" KeyPath="yes">
    <fw:FirewallException Id="MyFirewallException"
            Program="..\BootstrapperSetup.exe"
            Description="Lets requests through"
            Name="InstallerWix"
            Scope="any"
            Protocol="tcp" />
  </Component>
</Directory>
</Fragment>
</Wix>

Код компилируется, но похоже, что в Directory никогда не было началось. Новое правило не добавляется.

1 Ответ

1 голос
/ 13 мая 2020

Если вы хотите добавить исключение брандмауэра в программу, установленную на клиенте, вы должны добавить правило для программы, которая запускается на клиенте. Из показанного вами кода я понял, что вы добавили Bootstrapper exe в качестве программы исключения. (Исправьте меня, если это не так)

Ниже приведен фрагмент кода, который я недавно использовал для одного из моих проектов, чтобы добавить правило исключения для входящих событий для пакетов udp (ie исключение в брандмауэре, чтобы разрешить прослушивание пакетов UDP из сеть). Фактически это записано в проекте Msi (в вашем случае SetupProject1)

<Component Id="ChangeFirewall" Guid="YOUR-GUID"  KeyPath="yes">
      <fw:FirewallException Id="FirewallExceptionUDP"
                  Name="AppName for UDP"
                  Scope="any"
                  Protocol="udp"
                  IgnoreFailure="yes"
                  Program="[#App_Name.exe]"
                  Profile="all" />  
</Component>

Для программы это идентификатор файла exe, который устанавливается на клиентском компьютере.

<Component Id="App_Name.exe" Guid="YOUR-GUID">
    <File Id="App_Name.exe" Name="App_Name.exe" Source="$(var.Project_TargetDir)App_Name.exe">
    </File>
</Component>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...