Exécuter des actions avant la build ou l’Harvest de Wix Toolset 4

Avant Wix Toolset 4, exécuter une ou plusieurs actions avant la build n’était pas très compliqué. Il suffisait d’ajouter une cible nommée BeforeBuild et le tour était joué.

Après l’adoption du format de projet de type SDK, les choses se compliquent légèrement. L’usage d’une cible nommée BeforeBuild remplace totalement la cible importée par Wix Toolset. Ce qui retire tous les automatismes ajoutés par Wix 4.

Il faut donc ruser un peu. Avec MSBuild, il y a une solution très simple : ajouter une cible qui va s’exécuter avant BeforeBuild. Une sorte de BeforeBeforeBuild ;)

Pour cela, il suffit d’utiliser l’attribut BeforeTargets et de lui passer en valeur BeforeBuild. Si en plus on souhaite exécuter la même tâche avant le ReBuild, on peut ajouter BeforeReBuild.

Ce qui donne :


<Project>
  <!-- ... -->
  <Target Name="PublishBeforeBuild" BeforeTargets="BeforeBuild;BeforeReBuild">
    <!-- Ajouter les tâches à réaliser avant la build ici -->
  </Target>
</Project>

Le nom de la cible n’a pas d’importance.

Jérémy Jeanson

Comments

You have to be logged in to comment this post.