2013-02-07 9 views

उत्तर

31

सबसे पहले, जला चर जो आप सेट करना चाहते हैं उसे Overridable के रूप में सेट करने की आवश्यकता है। ऐसा करने के लिए आपको अपने WXS में अनुसरण नामस्थान शामिल करना होगा: xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" और यदि आप मेरे जैसे विजुअल स्टूडियो का उपयोग कर रहे हैं तो आपको अपने प्रोजेक्ट संदर्भों में WixBalExtension.dll शामिल करना होगा। इसके बाद आपको निम्न बर्न वेरिएबल्स में निम्न विशेषता जोड़ने की आवश्यकता है जिसे आप कमांड लाइन के माध्यम से सेट करना चाहते हैं: bal:Overridable="yes"

अब आप इस फैशन में कमांड लाइन के माध्यम से चर सेट कर सकते हैं:

BootstrapperSetup.exe /i /passive MyBurnVariable1=1 MyBurnVariable2=2 


नीचे एक WXS फ़ाइल का एक उदाहरण है कि satifies की स्थिति में ऊपर वर्णित के सभी:

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

    <Bundle Name="MyProduct" Version="1.0.0" Manufacturer="MyManufacturer" UpgradeCode="PUT-UPGRADE-CODE-HERE"> 

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense"> 
     <bal:WixStandardBootstrapperApplication LicenseUrl="MyLicense.htm" ThemeFile="MyThemeFile.xml" LocalizationFile="MyLocFile.wxl" /> 
    </BootstrapperApplicationRef> 

    <Variable Name="MyBurnVariable1" bal:Overridable="yes" Type="numeric" Value="0" /> 
    <Variable Name="MyBurnVariable2" bal:Overridable="yes" Type="numeric" Value="0" /> 

    <Chain> 
     <MsiPackage Id="MyFirstMsiPackage" 
        SourceFile="first.msi" 
        InstallCondition="MyBurnVariable1 = 1" /> 

     <MsiPackage Id="MySecondMsiPackage" 
        SourceFile="second.msi"> 
     <MsiProperty Name="MY_PROPERTY" Value="[MyBurnVariable2]" /> 
     </MsiPackage> 
    </Chain> 
    </Bundle> 
</Wix> 
+2

यह [WixStdBA] के लिए सच है (https://github.com/wixtoolset/wix3/blob/4786b1306b614b83cb96ad1b07f7597992f37126/src/ext/BalExtension/wixstdba/WixStandardBootstrapperApplication.cpp), लेकिन प्रबंधित बूटस्ट्रैप एप्लिकेशन के लिए नहीं। तो यह अजीब बात है कि cmdline से पार्सिंग और ओवरराइडिंग चर के लिए तर्क जला कोर में नहीं है। – stukselbax

संबंधित मुद्दे