Frage

Ich habe eine WIX-Datei, die ich brauche, mit MSBuild zu ändern. Es beginnt wie folgt:

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

Mein Problem ist, dass ich weiß nicht, was die XPath zum <?define ProductVersion = "1.0.1"?> wäre würde. Gibt es eine Möglichkeit, dass über XPath zu verweisen, damit ich die SDC SetValue MSBuild-Aufgaben verwenden kann, um es zu ändern? Es ist kein Knoten (glaube ich), so bin ich nicht sicher, wie es zu verweisen.

Vaccano

War es hilfreich?

Lösung

Es sieht aus wie /Wix/processing-instruction('define') kann für eine XPath arbeiten (ob oder nicht MSBuild erkennt an, dass ich nicht weiß).

Durch das Einstecken in SketchPath , konnte ich darin klicken um und verschiedene XPaths zu testen, um zu sehen, was würde das Element auswählen.

Andere Tipps

Ein anderer Ansatz wäre es, die Parameter über die Befehlszeile Kerze zu definieren:

candle -dProductVersion=1.0.1

// Verarbeitungsinstruktion ( 'definieren')

<?define> ist ein Verarbeitungsanweisungsknoten, so sollten Sie es ansprechen können, unter Verwendung eines XPath-Ausdruck wie

//processing-instruction('define')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top