2008-10-29 14 views
28

से विशेषताएं का चयन करने के लिए कैसे यह एक अनुभवहीन सवाल हो सकता है। मुझे कमांड लाइन से चुनिंदा सुविधाओं का समर्थन करने के लिए मैन्युअल रूप से एक .WXS फ़ाइल को संपादित करना होगा।WIX: कमांड लाइन

उदाहरण के लिए, .WXS फ़ाइल में 3 सुविधाओं देखते हैं।

<Feature Id="AllFeature" Level='1'> 

    <Feature Id="Feature1" Level='1'> </Feature> 

    <Feature Id="Feature2" Level='1'> </Feature> 

    <Feature Id="Feature3" Level='1'> </Feature> 

</Feature> 

अब, मैं कमांड लाइन से सुविधाओं का चयन करना चाहता हूं। कहो, अगर मैं टाइप "msiexec/i install.msi सुविधा = एक", फिर "Feature1" और "Feature2" स्थापित किया गया है; अगर मैं "msiexec/i install.msi फीचर = बी" टाइप करता हूं, तो "फ़ीचर 1" और "फ़ीचर 3" स्थापित है। इस मामले में, फ़ीचर 1 और 2 के लिए "ए" मानचित्र; 'बी' नक्शे 1 फ़ीचर के लिए और 3

कैसे WIX में यह पूरा करने के?

उत्तर

29

मैं अवयव को Feature1, Feature2 और Feature3 बदल जाएगा, तो कुछ इस तरह घोषणा करेंगे:

<Feature Id="FEATUREA" Title="Super" Level="1" > 
    <ComponentRef Id="Component1" /> 
    <ComponentRef Id="Component2" /> 
</Feature> 

<Feature Id="FEATUREB" Title="Super1" Level="1" > 
    <ComponentRef Id="Component1" /> 
    <ComponentRef Id="Component3"/> 
</Feature> 

तब स्थापित करें या तो FeatureA या FeatureB

msiexec /i install.msi ADDLOCAL=[FEATUREA | FEATUREB] 
9

संपत्तियों की एक संख्या हैं करने के लिए कि सुविधाओं के स्थापित राज्यों को नियंत्रित कर सकते हैं। इस एमएसआई एसडीके दस्तावेज और इसके लिंक देखें: http://msdn.microsoft.com/en-us/library/aa367536(VS.85).aspx

44

स्वीकार्य उत्तर पहले ही एडडोकल संपत्ति का उल्लेख करता है, लेकिन ऐसा लगता है कि आप केवल एक सुविधा का चयन कर सकते हैं। आप वास्तव में इस तरह अल्पविराम के द्वारा उन्हें अलग करके एक से अधिक सुविधाओं का चयन कर सकते हैं:

msiexec /i install.msi ADDLOCAL=Feature1,Feature2 

या

msiexec /i install.msi ADDLOCAL=Feature2,Feature3 

एक अन्य संकेत: आप orca साथ MSI खोलने के द्वारा इन सुविधा के नाम की खोज कर सकते हैं। यह बहुत उपयोगी है जब आप इन ट्रिक्स का उपयोग बूटस्ट्रैपर बनाने के लिए करना चाहते हैं जो थर्डपार्टी एमएसआई पैकेज की कुछ विशेषताओं को स्थापित करता है।

+0

मैंने जो msiexec आदेश दिया था, वह सवाल पूछने के लिए था, लेकिन मैं सहमत हूं कि आप ऑर्का उपयोगिता का उल्लेख करने के लिए कमांड लाइन – CheGueVerra

+0

धन्यवाद से कई सुविधाएं प्राप्त कर सकते हैं। –

+1

मैं एक बेहतर उपयोगिता का उल्लेख करूंगा: InstEd It (http://www.instedit.com/) जो कि सबसे सामान्य उपयोग मामलों –