2011-09-07 8 views
9

की ओर जाता है मैं नवीनतम वोटिव (Wix v3.5) का उपयोग कर रहा हूं और एक साधारण Wix VS 2010 सेटअप प्रोजेक्ट बनाया है। मैंने अपनी वेबसाइट संदर्भ जोड़ा और Harvest विकल्प true के रूप में सेट किया।फसल कीटनाशक एलजीएचटी 02231 त्रुटि

अब IISROOT के तहत एक फ़ोल्डर में मेरी INSTALLDIR अंक के बाद से, मैं इस light.exe त्रुटि मिलती है:

[filepath]: error LGHT0231: The component 'cmp93982C4086FF8C75F07339DD7CEA8152' has a key file with path 'TARGETDIR\webdir...[filename].xml'. Since this path is not rooted in one of the standard directories (like ProgramFilesFolder), this component does not fit the criteria for having an automatically generated guid. (This error may also occur if a path contains a likely standard directory such as nesting a directory with name "Common Files" under ProgramFilesFolder.)

जब मैं इस त्रुटि के पीछे कारण समझ में, मैं जरूरी अपने तर्कसंगत से सहमत नहीं हैं (हो सकता है मैं विक्स एमएसआई पीढ़ी के सहज कामकाज को समझ नहीं पा रहा हूं)।

मैं इस त्रुटि को कैसे हल कर सकता हूं?

मैं टीम बिल्ड के साथ संयोजन के रूप में इस सेट करने के लिए कोशिश कर रहा हूँ:


कुछ संदर्भ प्रदान करना। मैं विरासत प्रारूप का उपयोग कर सकता हूं और इस समस्या को बाईपास करने के लिए एक फ़ोल्डर के खिलाफ हीट/हार्वेस्ट कार्य चला सकता हूं लेकिन विरासत मार्ग नहीं जाना चाहता हूं।

मैंने नई वर्कफ़्लो आधारित बिल्ड परिभाषा के साथ पर्याप्त नहीं खेला है, इसलिए सुनिश्चित नहीं है कि मैं इस कस्टम कार्य को कैसे शामिल कर सकता हूं।

सेटअप प्रोजेक्ट बनने पर मुझे हर बार फसल चलाने की ज़रूरत है क्योंकि मैं मैन्युअल रूप से सैकड़ों फ़ाइलों का ट्रैक नहीं रखना चाहता हूं।

+0

मेरे पास एक ही समस्या है; मैं सी: \ Inetpub \ wwwroot \ MyProject \ को डिफ़ॉल्ट स्थापना स्थान के रूप में सेट करने का प्रयास कर रहा हूं, लेकिन वाईएक्स इसके बारे में नहीं सुन पाएगा। –

+0

क्या आपको कुछ कामकाज मिला है? धन्यवाद –

+0

@SanjaMelnichuk: दुर्भाग्य से नहीं। मैंने वहां और अधिक समय निवेश नहीं किया है क्योंकि मैं अन्य परियोजनाओं में स्थानांतरित हूं लेकिन मुझे लगता है कि मैं जो करने की कोशिश कर रहा हूं वहां कुछ XAML ज्ञान और टीएफएस वर्कफ़्लो के साथ परिचितता की आवश्यकता होगी। – Mrchief

उत्तर

9

समस्या यह है क्योंकि घटक TARGETDIR में निहित है, जो WiX स्वचालित रूप से एक guid उत्पन्न करने के लिए उपयोग नहीं कर सकता है। समस्या से बचने के लिए आप इस घटक के ऊपर एक निर्देशिका में Directory/@ComponentGuidGenerationSeed जोड़ सकते हैं। इस विशेषता को जोड़कर, अब यह सुनिश्चित करने के लिए ज़िम्मेदारी लेनी होगी कि घटक अपग्रेड में दो अलग-अलग निर्देशिकाओं में स्थापित नहीं हो पाता है।

विंडोज इंस्टालर में, घटकों को एक गाइड होना चाहिए जो पैच, मामूली उन्नयन और प्रमुख उन्नयन के बीच नहीं बदलता है। एक सुविधा के रूप में, वाईएक्स घटक के निर्देशिका पदानुक्रम का उपयोग बीज के रूप में आपके लिए version 5 UUID उत्पन्न कर सकता है। लेकिन, TARGETDIR इसके लिए अयोग्य है।

मेरा मानना ​​है कि TARGETDIR इंस्टॉलेशन में बदल जाता है (यह उस ड्राइव पर सेट है जिसमें सबसे खाली स्थान है)। घटक नियमों में से एक है "each component must be stored in a single folder"। यदि TARGETDIR प्रमुख उन्नयन के बीच बदल गया है, तो आप एक ही घटक को दूसरे फ़ोल्डर में स्थापित करने का प्रयास कर सकते हैं।

+0

तब तक नहीं था जब तक मैं एक और विक्स प्रोजेक्ट को संलेखित नहीं कर रहा था कि मैं इस बार फिर से भाग गया और फिर मुझे आपका समाधान याद आया। खेद है कि इसे स्वीकार करने में मुझे इतना समय लगा! :) – Mrchief

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

  • कोई संबंधित समस्या नहीं^_^