2010-04-13 10 views

उत्तर

36

तो जैसे Component मूल्य Permanent="yes" सेट करें:

घटक तालिका के लिए एमएसआई एसडीके डॉक्स देखें - अशक्त होने के लिए घटक GUID सेट: wixusers मेलिंग-सूची से

फिल विल्सन की
<Component Id="LicenseDoc" Guid="*" Permanent="yes"> 
    <File Id ="License.rtf" Source="$(var.SolutionDir)Installer\License.rtf" /> 
</Component> 
+7

मैंने पोस्ट किया विक्सुसर्स मेलिंग सूची पर सवाल उठाएं और एक ही जवाब मिला, लेकिन स्थायी ध्वज (फिल विल्सन की प्रशंसा) के बारे में भी ध्यान दें: जब तक हर कोई यह महसूस करता है कि स्थायी साधन हमेशा के लिए स्थायी है। इसका मतलब यह नहीं है कि "जब तक मैं स्थायी नहीं सेटिंग बदलता हूं"। यह उस घटक को सिस्टम पर स्थायी बनाता है, और जब तक "स्थायी रूप से इंस्टॉलर हमेशा के लिए" आवश्यक नहीं है, तब तक मैं इसका उपयोग नहीं करता। – glenneroo

+0

मैं इस विषय को पुनर्जीवित करूंगा और पूछूंगा: क्या होगा यदि आपके पास कई (200+) फ़ाइलें हैं जिन्हें आप छोड़ना चाहते हैं? प्रत्येक घटक पर जाकर स्थायी = "हां" या सेटिंग GUID = "" को सही नहीं लगता है। – treaz

+1

लेकिन यह वाईएक्स का तरीका है, आप प्रत्येक फ़ाइल की परिमित स्थिति का वर्णन कर रहे हैं, इसलिए इस बारे में शून्य अस्पष्टता है कि सिस्टम को इंस्टॉल/अनइंस्टॉल करने से पहले/पहले कैसे होना चाहिए। पुराने इंस्टॉलर्स के साथ समस्या यह है कि उन्होंने सभी त्रुटि को संभाल नहीं लिया, इस प्रकार अजीब राज्यों में होगा। एमएसआई एक राज्यव्यापी प्रक्रिया है। –

6

तारीफ (खाली)। इसका प्रभाव यह है कि घटक पंजीकृत नहीं है (इसलिए इसे मरम्मत नहीं किया जा सकता है) और इसे अनइंस्टॉल नहीं किया जाएगा।

0

स्थापना रद्द करें पर घटक को हटाने से Windows इंस्टालर को रोकने के लिए एक और तरीका है एक रिक्त या खाली घटक GUID स्थापित करने के लिए है। यह घटक को स्थापित करने का कारण बनता है लेकिन इसे कभी भी ट्रैक या अनइंस्टॉल नहीं किया जाएगा।

देखें MSI SDK documentation:। "... तो यह कॉलम (ComponentID) अशक्त संस्थापक घटक पंजीकृत नहीं करता है और घटक हटाया नहीं जा सकता या मरम्मत की संस्थापक द्वारा इसमें जानबूझ कर किया जा सकता है यदि घटक केवल है स्थापना के दौरान जरूरी है, जैसे एक कस्टम एक्शन जो अस्थायी फाइलों को साफ़ करता है या पुराने उत्पाद को हटा देता है। यह तब भी उपयोगी हो सकता है जब किसी उपयोगकर्ता के कंप्यूटर पर डेटा फाइलों की प्रतिलिपि बनाने की आवश्यकता न हो। "