Domanda

Ho un file WIX che devo modificare usando MSBuild. Inizia così:

<?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 ...-->

Il mio problema è che non so quale sarebbe XPath per <? define ProductVersion = " 1.0.1 "? > . Esiste un modo per fare riferimento a ciò tramite XPath in modo da poter utilizzare l'attività SetCalue MSBuild di SDC per modificarlo? Non è un nodo (penso) quindi non sono sicuro di come fare riferimento.

Vaccano

È stato utile?

Soluzione

Sembra che / Wix / processing-istruzione ('define') potrebbe funzionare per un XPath (se MSBuild lo riconosce o meno, non lo so).

Collegandolo a SketchPath , sono stato in grado di fare clic su di esso e testare vari XPath per vedere cosa selezionerebbe quell'elemento.

Altri suggerimenti

Un altro approccio sarebbe quello di definire il parametro dalla riga di comando a candela:

candle -dProductVersion=1.0.1

// processing-instruction ( 'definire')

<? define > è un nodo di istruzioni di elaborazione, quindi dovresti essere in grado di affrontarlo usando un'espressione XPath come

//processing-instruction('define')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top