Question

J'ai un fichier WIX que je dois modifier à l'aide de MSBuild. Ça commence comme ça:

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

  <?--... Removed Params ...-->

  <?define ProductVersion = "1.0.1"?>

  <?--... Removed Params ...-->

  <Product Id='$(var.ProductCode)'
    UpgradeCode='$(var.UpgradeCode)'
    Name='$(var.AppName)' Language="1033" Version='$(var.ProductVersion)'
    Manufacturer='$(var.Manufacturer)'>
    <Package Id='$(var.PackageCode)' InstallerVersion="200" 
    Compressed="yes" />

  <?--... Rest of the WIX XML file ...-->

Mon problème est que je ne sais pas ce que XPath ferait au <? define ProductVersion = & 1.0; 1.0.1 "? > . Y at-il un moyen de faire référence à cela via XPath afin que je puisse utiliser la tâche MSBuild SDC SetValue pour la modifier? Ce n'est pas un nœud (je pense) donc je ne suis pas sûr de savoir comment le référencer.

Vaccano

Était-ce utile?

La solution

Il semble que / Wix / processing-instruction ('define') puisse fonctionner pour un XPath (que MSBuild le reconnaisse ou non, je l'ignore).

En intégrant cela à SketchPath , j'ai pu cliquer dessus et tester différents XPaths pour voir qu'est-ce qui sélectionnerait cet élément?

Autres conseils

Une autre approche consisterait à définir le paramètre via la ligne de commande pour candle:

candle -dProductVersion=1.0.1

// instruction de traitement ('define')

<? define > est un nœud d'instruction de traitement. Vous devez donc pouvoir l'adresser à l'aide d'une expression XPath telle que

.
//processing-instruction('define')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top