के लिए स्वचालित अपडेट और अपग्रेड प्रबंधन मैं विजुअल स्टूडियो 2010 में इंस्टालशिल ली का उपयोग कर रहा हूं, लेकिन यह काफी सीमित है और कभी-कभी छोटी गाड़ी भी होती है। मैंने इंस्टालशल्ड संस्करणों का भुगतान किया, लेकिन इन मूल्य टैग के लिए इनकी बहुत सी सीमाएं भी हैं।विंडोज इंस्टालर एक्सएमएल (वाईएक्स)
इसलिए मैंने वाईएक्स पर स्विच करने का फैसला किया। मुझे कुछ साल पहले इसके साथ कुछ अनुभव हुआ है। WiX उपकरण के साथ SharpDevelop का उपयोग करके एक साधारण इंस्टॉलर बनाना बहुत आसान था।
अब मैं वाईएक्स के लिए समाधान और उपकरण एकत्र करने की कोशिश कर रहा हूं। असल में, मैं (अपने ग्राहक द्वारा अनुरोध) निम्नलिखित कार्यक्षमता प्राप्त करने की आवश्यकता:
जब मैं संस्थापक लॉन्च, यह सर्वर पर एक पाठ फ़ाइल की जाँच करनी चाहिए और अगर एक नया संस्करण उपलब्ध है देखते हैं। यदि ऐसा है, तो इंस्टॉलर अद्यतन इंस्टॉलर पैकेज डाउनलोड करने और इसे लॉन्च करने में सक्षम होना चाहिए (क्या वाईएक्स में कोई डाउनलोडर यूटिलिटीज है?)
निर्भरता को हल करना। मेरे ऐप की प्रमुख निर्भरता .NET 4 है (जो स्वयं विंडोज इंस्टालर 3 पर निर्भर करती है)। इंस्टॉलर को उपयोगकर्ता को स्वचालित रूप से डाउनलोड करने और उन्हें इंस्टॉल करने की पेशकश करनी चाहिए
स्थापना प्रक्रिया लॉगिंग, निर्भरताओं की स्थापना प्रक्रिया की लॉग फ़ाइल भी एकत्रित करना चाहिए। मैं नहीं चाहता कि उपयोगकर्ता .NET4 या WindowsInstaller3 स्थापना विफल होने पर विभिन्न .log फ़ाइलों का शिकार करे। सभी जानकारी एक ही स्थान पर एकत्र की जानी चाहिए और यदि कुछ विफल हो जाता है, तो मुझे उपयोगकर्ता को पूर्ण इंस्टॉल लॉग फ़ाइल को सहेजने के लिए एक विकल्प के साथ कस्टम पॉपअप संवाद दिखाना चाहिए और इसे मुझे
इंस्टॉलर को पहचानने में सक्षम होना चाहिए मेरे ऐप का नवीनतम संस्करण पहले से स्थापित है, और एक सार्थक अनुकूलित त्रुटि संदेश दिखाई इससे पहले कि यह बाहर निकालता है
संस्थापक होगा कि मेरे पास एप्लिकेशन का पुराना संस्करण पहले से स्थापित है पता लगाने के लिए सक्षम होना चाहिए। और उपयोगकर्ता को इंस्टॉलेशन से बाहर निकलने या पिछले संस्करण को अनइंस्टॉल करने और नया संस्करण स्थापित करने की पेशकश करता है। बीटीडब्ल्यू, कोई मामूली घटक उन्नयन योजनाबद्ध नहीं है, मैं सबकुछ ताजा पुनर्स्थापित करना पसंद करता हूं (मुझे लगता है कि यह विंडोज इंस्टालर की शर्तों में एक बड़ा अपग्रेड है)। इसके लिए इंस्टॉलशील्ड LE इस पर असफल रहा, उसने किसी अन्य उत्पाद के बारे में संदेश के साथ एक त्रुटि बॉक्स दिखाया, लेकिन अपग्रेड के मामले में
अनइंस्टॉल करने की पेशकश नहीं की गई, इंस्टॉलर को यह पता लगाने में सक्षम होना चाहिए कि कुछ एप्लिकेशन घटक कर रहे हैं प्रयोग में (आवेदन चल रही प्रक्रियाओं) और एक कस्टम त्रुटि संदेश दिखाने के लिए और नहीं बस कुछ गुप्त "स्थापना विफल"
मैंने पढ़ा है कि यह थोड़ा उन्नयन प्रबंधन करने के लिए भले ही मैं अपने UpgradeCode को बनाए रखने के दर्द हो सकता है , क्योंकि यह कोड Windows रजिस्ट्री में संकुचित तरीके से संग्रहीत है और यदि उपयोगकर्ता डाउनलोड की गई फ़ाइल का नाम बदलता है, तो यह WindowsInstaller द्वारा पूरी तरह से नए उत्पाद के रूप में पता लगाया जा सकता है ... o शायद यह WindowsInstaller .msi फ़ाइलों के साथ ही मामला है और WiX के पास इस समस्या से बचने के लिए कुछ चाल है?
अद्यतन डाउनलोड करने के बारे में - मुझे अपने कार्यक्षमता में भी इस कार्यक्षमता की आवश्यकता है। मुझे यकीन नहीं है कि इसे कुशलता से कैसे कार्यान्वित किया जाए, इसलिए मैं एक ही अद्यतन डाउनलोडर कोड/उपयोगिता को दोनों वाईएक्स इंस्टॉलर और मेरे ऐप में पुन: उपयोग कर सकता हूं।
क्या वर्तमान में मौजूदा वाईएक्स उपकरण का उपयोग करके इन सभी आवश्यकताओं को पूरा करना संभव है, या शायद मुझे कुछ घटकों को स्क्रैच से कोड करने की आवश्यकता होगी?
महान और विस्तृत स्पष्टीकरण और उपयोगी लिंक के लिए धन्यवाद। मुझे जर्न के बारे में पता नहीं था, मैं निश्चित रूप से इस पर नजर रखूंगा। – JustAMartin