J'utilise WiX (3.0.3815.0) sur un projet assez important. Je veux faire une génération de code qui générera des éléments d'erreur à partir d'un type de source (but: les AC compilées en C et les MSI doivent voir les chaînes d'erreur et connaître les ID). Je produis quelque chose comme ceci:WiX dépose des fragments avec seulement des éléments d'erreur sinon référence par des actions personnalisées
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Error Id="28002"><![CDATA[bla bla bla]]></Error>
<Error Id="28003"><![CDATA[bli bli bli]]></Error>
(Lots more...)
</UI>
</Fragment>
</Wix>
Au cours de la construction, je l'utilise comme j'utiliser mes autres fichiers .wxs: appeler candle.exe et obtenir gen.wixobj, puis passer à light.exe en même temps que mon autre wixobjs.
Problème: WiX n'inclut pas les lignes d'erreur dans la table d'erreurs MSI résultante (validée avec Orca). Solution de contournement laide: Ajoutez une action personnalisée avec Error = "28002" - puis le fichier entier est inclus dans le fichier MSI.
Quelqu'un connaît-il cela? Une solution moins moche?