Создать установщик wix с пользовательскими действиями - PullRequest
0 голосов
/ 09 октября 2018

Я создал проект Wix CustomActions для моего установщика wix.Я использую MakeSfxCA.exe для генерации CustomActions.XXXX.CA.dll.

Поскольку я ссылаюсь более чем на одну dll в качестве файла поддержки, ниже я добавил еще 2 новые ссылки на dll в SupportFile.

<MakeSfxCA
       InputCustomActionAssembly="MyRef.CustomActions.xxxx.dll"
       TargetCustomActionAssembly="MyRef.CustomActions.xxxx.CA.dll"
       UnmanagedProxyAssembly="SfxCA.dll"
       ManagedProxyAssembly="someDLLname"
       ManagedProxyClass="someCLASSname">

  <SupportFile source="Microsoft.Deployment.WindowsInstaller.dll" target=""/>
  <SupportFile source="ExistingDLL1.dll" target=""/>
  <SupportFile source="ExistingDLL2.dll" target=""/>
  <SupportFile source="NewlyAdded1.dll" target=""/>
  <SupportFile source="NewlyAdded2.dll" target=""/>  
</MakeSfxCA>

Все идет хорошо при создании этого проекта CustomActions и показывает журнал сборки,

 Packaging files
 1>      MyRef.CustomActions.xxxx.dll
 1>      Microsoft.Deployment.WindowsInstaller.dll
 1>      ExistingDLL1.dll
 1>      ExistingDLL2.dll
 1>      NewlyAdded1.dll
 1>      NewlyAdded2.dll
 1>      CustomAction.config

После успешной генерации установщика, При установке этого установщика появляется исключение,

 System.IO.FileNotFoundException: Could not load file or assembly 'NewlyAdded2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c34r7789g45367gb' or one of its dependencies. The system cannot find the file specified.

При отладке во время работы установщика этот файл NewlyAdded2.dll не был найден в C: \ Windows \ Installer \ MSI76CD.tmp-.«MSI76CD.tmp-» будет временно создан во время установки..NET Framework версия всех DLL одинакова.

...