2009-11-27 9 views
6

wxs फ़ाइल टैग स्रोत विशेषता फ़ाइल; पथ में एक जगह है।मैं अपने विक्स स्रोत पथ में रिक्त स्थान के साथ कैसे काम करूं?

<File Id="_uploads.UserImport.EDS_UserImport.xls" Name="EDS_UserImport.xls" Source="C:\Documents and Settings\kle\Desktop\OspreyMSIGenerator\OspreyMSIGenerator\Published\EDSContainer\uploads\UserImport\EDS_UserImport.xls"></File> 

मैं इस त्रुटि मिलती है

candle.exe: त्रुटि CNDL0103: सिस्टम फ़ाइल 'और' टाइप के साथ 'स्रोत' नहीं मिल रहा।

मुझे यकीन नहीं है कि मेरे पथ में रिक्त स्थान नहीं होंगे। मैं स्रोत पथ में रिक्त स्थान का समर्थन कैसे करूं?

उत्तर

6

नवीनतम स्थिर विक्स रिलीज के लिए upgrading आज़माएं। मैंने इसे विक्स 3.0.5419.0 के साथ परीक्षण किया और रिक्त स्थान के साथ फ़ाइल पथ त्रुटियों के बिना स्वीकार किए जाते हैं।

संबंधित नोट पर: फ़ाइल तत्वों में आपके उदाहरण में पूर्ण पथ नहीं होना चाहिए, क्योंकि आप केवल एक डेवलपर के पीसी पर सेटअप बनाने में सक्षम होंगे। बजाय wxs फ़ाइल के स्थान पर संबंधित पथ का उपयोग करें, इस तरह:

<File Source="..\bin\foo.exe" /> 

या एक चर है कि इस तरह फ़ाइलों का स्थान होता है का उपयोग कर:

<File Source="$(var.BinFolder)foo.exe" /> 

फिर आप पास कर सकते हैं

candle.exe -dBinFolder=c:\someFolder\bin\ foo.wxs 

संपादित: इस तरह मोमबत्ती लागू द्वारा बिन फ़ोल्डर के स्थान के रूप में अपने जवाब में रोब द्वारा दिखाए गए, तो आप भी light.e उपयोग कर सकते हैं xe -b स्विच एक या अधिक बेस निर्देशिका निर्दिष्ट करने के लिए जहां फ़ाइलों को स्थापित करने के लिए पाया जा सकता है।

4

@wcoenen एक तंत्र प्रदान करता है। हालांकि, मैं light.exe -b स्विच का उपयोग करना पसंद करता हूं।

<File Id="_uploads.UserImport.EDS_UserImport.xls" Name="EDS_UserImport.xls" Source="SourceDir\Published\EDSContainer\uploads\UserImport\EDS_UserImport.xls"></File>

और अपने कमांड लाइन light.exe करना होगा:

-b "C:\Documents and Settings\kle\Desktop\OspreyMSIGenerator\OspreyMSIGenerator"

आप एक से अधिक बी स्विच कर सकते हैं और बहुत की जटिलता को कम फिर अपने कोड की तरह लग सकता है आपका स्रोत विशेषता।

इसके अलावा, फ़ाइल फ़ाइल/@ आईडी और फ़ाइल/@ नाम को छोड़ दिया जा सकता है यदि आप फ़ाइल नाम में डिफ़ॉल्ट रूप से ढूंढ रहे हैं (इस मामले में, "EDS_UserImport.xls")।

+1

+1, सबकुछ बहुत कम जटिल बनाता है। दुर्भाग्य से वाईएक्स दस्तावेज प्रकाश के लिए -b और फ़ाइल/@ स्रोत में "SourceDir" का उपयोग करने के बीच के लिंक को समझाने के लिए प्रकट नहीं होता है। – saschabeaumont

+0

मैं वास्तव में "SourceDir" के बारे में उलझन में हूं, जाहिर है कि इसमें 3 अलग-अलग अर्थ हैं: 1) जादू मूल्य जो आपको '' 2 में उपयोग करना है) Windows इंस्टालर प्रॉपर्टी इंस्टॉलेशन पैकेज वाले फ़ोल्डर को इंगित करता है 3) 'light.exe -b' के साथ विशेष मान सेट जिसे आप "" के रूप में उपयोग कर सकते हैं। अरे! –

+1

पहले दो एक ही बात हैं। तीसरा विकल्प SourceDir का उपयोग करता है क्योंकि स्रोत को मूल निर्देशिका तत्वों और फ़ाइल/@ नाम से इसके मान प्राप्त होते हैं। बहुत से लोगों को डिफ़ॉल्ट रूप से उपयोग करने के बजाय हमेशा फ़ाइल/@ स्रोत निर्दिष्ट करने की आदत में मिला है। –

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