Порядок сборки Wix - msbuild & Heat - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь расширить наш существующий проект Wix с помощью Heat, чтобы включить в установщик все файлы из выходного каталога другого проекта.Почему-то мне не хватает чего-то, что должно быть очень простым, так как я думаю, что это очень распространенная задача.

Вот как выглядит решение:

SomeDependencyA.csproj
SomeDependencyB.csproj (Depends on SomeDependencyA)
WindowsService.csproj (Depends on SomeDependencyB)
Installer.wixproj(Depends on WindowsService.csproj)

Wix должен, в основном, извлекать что-либо из папки WindowsService Output и создавать из нее пакет MSI.Процесс должен быть следующим:

  • Сборка всех зависимостей
  • Сборка проекта WindowsService
  • Создание Fragement с использованием Heat
  • Сборка установщика

И вот мой вопрос: где / как мне включить звонок в Heat?Pre-Build Step и BeforeBuild Target не работают, так как в настоящее время WindowsService и Dependencies еще не созданы.AfterBuild не поможет, так как в этот момент сгенерированный фрагмент больше не будет отслеживаться.Я искал какую-то цель сборки, которая вызывается ПОСЛЕ того, как были построены все зависимости, но ДО того, как сам проект установщика был собран.Должно быть легко, но я пока не могу понять.

1 Ответ

0 голосов
/ 18 мая 2018

Цель BeforeBuild может произойти до того, как зависимый проект завершит сборку.

Решение, которое я использовал для такого типа порядка сборки в прошлом, заключается в добавлении DependsOnTargets для цели BeforeBuild;

Для csproj:

<Target Name="BeforeBuild" DependsOnTargets="ResolveReferences">  

Для vcxproj:

<Target Name="BeforeBuild" BeforeTargets="PrepareForBuild">

Это заставит проект ждать завершения зависимых проектов перед запуском цели BeforeBuild.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...