سؤال

ولدي ملف WIX أنني بحاجة إلى تعديل باستخدام MSBuild. ويبدأ مثل هذا:

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

ومشكلتي هي أنني لا أعرف ما كسباث أن ل<?define ProductVersion = "1.0.1"?> سيكون. هل هناك طريقة للإشارة أن عبر كسباث حتى أتمكن من استخدام SDC SetValue MSBuild العمل لتغييره؟ وهي ليست عقدة (على ما أظن) لذلك أنا لست متأكدا من كيفية مرجع له.

وVaccano

هل كانت مفيدة؟

المحلول

ويبدو /Wix/processing-instruction('define') قد تعمل لكسباث (أم لا MSBuild تدرك ذلك، وأنا لا أعرف).

وعن طريق توصيل ذلك إلى SketchPath ، وكنت قادرا على انقر حول فيه واختبار مسارات XPath مختلف لرؤية ما من شأنه تحديد هذا العنصر.

نصائح أخرى

وثمة نهج آخر يتمثل في تعريف المعلمة عن طريق سطر الأوامر لشمعة:

candle -dProductVersion=1.0.1

و// تجهيز تعليم ( 'تحديد')

و<?define> هو عقدة إرشادات معالجة، لذلك يجب أن تكون قادرة على التصدي لها باستخدام تعبير XPath مثل

//processing-instruction('define')
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top