Wix Bootstrap предотвращает использование временного каталога - PullRequest
0 голосов
/ 24 октября 2018

Я собрал установщик "HelloWord" с проектом Bootstrapper Project для Wix v3.

Мой bundle.wxs имеет значение

    <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">

  <Bundle Name="Bundle_name"
          Version="1.0.0.0"
          Manufacturer="Producter"
          UpgradeCode="C82A383C-751A-43B8-90BF-A250F7BC2863"
          IconSourceFile="..\WpfForms\Assets\my_lovely.ico"  >

    <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost">
      <Payload SourceFile="..\WpfForms\BootstrapperCore.config"/>
      <Payload SourceFile="..\WpfForms\bin\Debug\WpfForms.dll"/>
      <Payload SourceFile="..\WpfForms\bin\Debug\GalaSoft.MvvmLight.dll"/>
      <!--<Payload SourceFile="..\WpfForms\bin\Debug\Microsoft.Practices.ServiceLocation.dll"/>
      <Payload SourceFile="..\WpfForms\bin\Debug\Microsoft.WindowsAPICodePack.dll"/>
      <Payload SourceFile="..\WpfForms\bin\Debug\Microsoft.WindowsAPICodePack.Shell.dll"/>-->

      <Payload SourceFile="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ServiceProcess.dll"/>
      <Payload SourceFile="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Configuration.Install.dll"/>
      <Payload SourceFile="C:\Program Files (x86)\WiX Toolset v3.11\SDK\Microsoft.Deployment.WindowsInstaller.dll"/>
    </BootstrapperApplicationRef>

    <Chain>
      <PackageGroupRef Id='Netfx4Full'/>
      <MsiPackage SourceFile="..\WixSetupProject\bin\Debug\WixSetupProject.msi" Id="InstallationPackageId" Cache="yes" Visible="no"/>
    </Chain>
  </Bundle>

  <Fragment>
    <WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />
    <WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />

    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="Netfx4FullVersion" />
    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="Netfx4x64FullVersion" Win64="yes" />

    <PackageGroup Id="Netfx4Full">
      <ExePackage Id="Netfx4Full" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" Name="DotNet_4"
                  SourceFile="../WixBootstrapper/DotNet/NDP462-KB3151800-x86-x64-AllOS-ENU.exe"
                  DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193"
                  DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)" />
    </PackageGroup>
  </Fragment>
</Wix>

Моя проблема заключается в том, что антивирус рабочей станции настроен назаблокируйте любое действие из temp каталогов, а встроенный файл installer.exe сделает копию себя как «C: \ Windows \ Temp {74EA5B2A-DA46-4B3F-A8E9-4FCEC4B4523C} .cr \ WixBootstrapper.exe» и запустите ее по умолчанию.Таким образом, он блокируется антивирусом, поэтому установка заканчивается при запуске.

Кто-нибудь знает, как я могу запретить компонентам WiX создавать кэш или что-то во временных каталогах и настроить запуск любого вложенного исполняемого файла и себя из папки curent?не из temp?

1 Ответ

0 голосов
/ 25 октября 2018

После проверки параметров групповой политики Windows это оказалось проблемой антивирусной блокировки.


Групповая политика? : Содержит ли журнал что-то вроде этого:

Error 0x800704ec: Failed to launch clean room process: "C:\WINDOWS\Temp\{AB10C981-0D7D-4AA6-857F-CC37696DB4BE}\.cr\Bundle.exe" -burn.clean.room="C:\Test\Bundle.exe" -burn.filehandle.attached=652 -burn.filehandle.self=656 -log "C:\Test\bundle.log"
Error 0x800704ec: Failed to run untrusted mode.

Или это говорит что-то еще?Существует групповая политика, которая может вызвать аналогичные проблемы. См. Выпуск WiX 5856 .

Льготный период антивируса? : если вы являетесь администратором, должно бытьЯ думаю, что возможность получить временный льготный период от вашего антивируса.Таким образом, вы можете выполнить свое тестирование.Сначала я бы позвонил в вашу службу поддержки, а затем в случае неудачи зашел на форумы пользователей Kaspersky .Возможно, у вас есть соглашение о поддержке Kaspersky с приоритетной поддержкой?

Ложные срабатывания : Я также настаиваю, чтобы вы загружали свои двоичные файлы на virustotal.com проверить на ложные срабатывания.Что ты должен делать несмотря ни на что. Антивирусные белые списки от Богдан Митрахе .

Ложные срабатывания могут фактически быть хуже, чем фактические вредоносные программы навремя (если вредоносное ПО не является разрушительным), потому что вы не можете просто сказать пользователю, чтобы он восстановил свои машины.Вместо этого вам действительно нужно решить проблему для них в общем смысле.Мало того, что у пользователя есть проблема, которую нужно решить, у вас также есть проблема в качестве поставщика. Как вы добавляете в белый список свой продукт с более чем 60 антивирусами? Вы пытаетесь virustotal.com сначала, я думаю (не аффилирован)- чтобы проверить, есть ли у вас такая проблема.

...