2012-02-07 39 views
16

इंटरनेट पर एमएसआई स्थापना को अद्यतन करने का सबसे अच्छा तरीका क्या है?इंटरनेट पर एमएसआई स्थापना को अद्यतन करने का सबसे अच्छा तरीका क्या है?

क्लिकऑन एमएसआई का समर्थन नहीं करता है।

मुझे इंटरनेट पर स्वचालित रूप से होने वाले अपडेट की आवश्यकता होती है, वैसे ही जैसे विंडोज अपडेट होते हैं।

आदर्श रूप से, मैं चाहता हूं कि मेरा एप्लिकेशन स्वचालित रूप से यह पता लगाए कि एक अपडेट उपलब्ध है और इसे डाउनलोड करें और इसे इंस्टॉल करें।

उत्तर केवल एमएसआई इंस्टॉलेशन के साथ सौदा करना चाहिए। मुझे कोई फर्क नहीं पड़ता कि अद्यतनों की निगरानी के लिए Windows सेवा स्थापित करने की आवश्यकता है या नहीं।

+0

मुझे उत्सुकता है, क्या आपने कभी इसे लागू किया है? –

उत्तर

12

यहाँ मैं हाल ही में एक ग्राहक के लिए क्या किया है है:

यूआई उपयोगकर्ता लॉग ऑन के रूप में चल रहा है।

सेवा सिस्टम के रूप में चल रही है। सेवा सामग्री के लिए जांचती है और इसे एक अस्थायी निर्देशिका में डाउनलोड करती है। इसके बाद यह/जेएम कमांड का उपयोग कर एमएसआई का विज्ञापन करता है। इंस्टॉलर अब गैर-निजीकृत उपयोगकर्ता द्वारा स्थापित किया जा सकता है।

सेवा एप्लिकेशन को आईपीसी संदेश भेजती है जिसमें कहा गया है कि यह इंस्टॉल करने का समय है। एप्लिकेशन इंस्टॉलर को उस ध्वज को पास कर देता है जो एप्लिकेशन को पुनरारंभ करने के लिए इंगित करता है। एप्लिकेशन लॉक की गई फाइलों को छोड़ने से निकलता है।

इंस्टॉलर के अंत में ध्वज इंस्टॉलर को एप्लिकेशन को फिर से लॉन्च करने का कारण बनता है।

भी wuw4 लाइब्रेरी पर एक नज़र डालें। यह बहुत सारे समाधान बनाने में मदद करता है।

यह एक जटिल पैटर्न है लेकिन बहुत अच्छी तरह से काम करता है। मेरी एक ऐसी कंपनी है जो इस समाधान को बनाने में आपकी सहायता कर सकती है। :)

+0

कुछ प्रश्न: क्या यह सेवा आवश्यक है? ऐप सिर्फ स्टार्टअप पर अपडेट की जांच नहीं कर सका? सेवा के पास किस अस्थायी फ़ोल्डर की पहुंच होगी? – CJ7

+1

सुरक्षा विचारों के कारण और विंडोज इंस्टालर कैसे काम करता है, यह एक उन्नत प्रक्रिया है जो एक अस्थायी प्रक्रिया बना सकता है जहां गैर-निजी उपयोगकर्ता ने केवल पढ़ने को पढ़ा है और वहां से इंस्टॉलेशन का विज्ञापन किया है। गैर-निजी अंत उपयोगकर्ता प्रक्रिया तब स्थापना शुरू कर सकती है और यह काम करेगी। यदि गैर-निजी उपयोगकर्ता स्टार्टअप पर अपडेट के लिए जांच करता है तो यह सड़क के नीचे ऊंचाई की समस्याएं उत्पन्न करता है। –

+0

यदि एप्लिकेशन बहुत हल्का है और उसे इंस्टॉल करने के लिए व्यवस्थापक निजी की आवश्यकता नहीं है तो आप ClickOnce पर विचार करना चाहेंगे। लेकिन अगर यह एक प्रति-मशीन स्थापना है कि किसी भी गैर-निजी उपयोगकर्ता को अपग्रेड करना होगा तो एमएसआई के साथ यह पैटर्न आपको चाहिए। –

2

आप msiexec उपयोगिता का उपयोग कर सकते हैं। Here आप एक उदाहरण पा सकते हैं।

+0

मुझे इसे इंटरनेट पर स्वचालित रूप से वितरित करने की आवश्यकता है। – CJ7

1

विंडोज इंस्टालर स्वचालित अपडेट का समर्थन नहीं करता है, न ही यह उनकी डिलीवरी को संभालेगा। जिस कंपनी के लिए मैं काम करता हूं वह उत्पाद लक्ष्यीकरण updates and more बेचता है।

1

यहाँ क्या मैं आमतौर पर क्या करना होगा है (इसकी कितना मैं अपने कार्यक्रम को अद्यतन की एक अवधारणा):

  • उपयोग Advanced Installer या किसी अन्य MSI installer/packer अपने अपडेट किए गए कार्यक्रम की फ़ाइलों को पैक करने के लिए Command Line का समर्थन करता है। आपको पैरामीटर को सही तरीके से सेट करने और अगले चरण पर जाने से पहले इसका परीक्षण करने की आवश्यकता है।

  • Visual Studio पर जाएं -> अपनी परियोजना का चयन करें -> गुण -> ईवेंट बनाएं।

  • "Post-Build event command line" टेक्स्टबॉक्स में आपके द्वारा बनाए गए कमांड लाइन पैरामीटर दर्ज करें, फिर ठीक क्लिक करें।

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

  • अंतिम चरण FTP Client कमांड लाइन से भी काम करता है।

  • सही पैरामीटर सेट करें और इसे पिछले पोस्ट के बाद "पोस्ट-बिल्ड ईवेंट" में जोड़ें।

  • अब यदि आप दृश्य स्टूडियो के साथ फिर से अपना प्रोजेक्ट बनाते हैं। आपकी फ़ाइलों को स्वचालित रूप से पैक किया जाएगा और फिर आपके सर्वर पर अपलोड किया जाएगा।

अब आपकी फाइलें सर्वर पर पूरी तरह अपडेट होनी चाहिए और आपको इसके बारे में चिंता करने की आवश्यकता नहीं है। यह सबसे अच्छा समाधान है जो मैंने पाया है, मैं इसका उपयोग कर रहा हूं और यह एक आकर्षण की तरह काम करता है ...

संपादित करें: एक और बात, आप सर्वर पर नए अपडेट देखने के लिए एक साधारण दिनचर्या भी जोड़ सकते हैं आपका कार्यक्रम कुछ बार फाइलों या फाइल संस्करणों के एमडी 5 हैश की जांच करने की तरह कुछ। दिनचर्या को एक नया अपडेट मिल जाने के बाद इसे उपयोगकर्ता को संकेत देना चाहिए और फिर आप उपयोगकर्ता को नवीनतम अपडेट आदि डाउनलोड करने के लिए कह सकते हैं ...

+0

क्षमा करें, मेरा मतलब स्वचालित रूप से किसी सर्वर को पैकेज भेजने का नहीं था। मेरा मतलब है कि उपयोगकर्ता को उत्पाद का स्वचालित अपडेट प्राप्त होगा। – CJ7

+0

हाँ और आपको पहले सर्वर पर अपनी फाइलें अपडेट करनी होंगी ... फिर संपादन भाग पढ़ें। आपको सर्वर पर नए संस्करणों की जांच के लिए "अद्यतन" जांच दिनचर्या बनाना चाहिए .... – SolidSnake

0

क्या आप ऐप वर्चुअलाइजेशन की जांच करते हैं? http://www.microsoft.com/en-us/windows/enterprise/products-and-technologies/virtualization/default.aspx

यह आपके निष्पादन योग्य/एमएसआई को ग्राहकों को स्ट्रीम करने का एक शानदार तरीका है, जबकि यह सुनिश्चित करता है कि यह हमेशा नवीनतम एमएसआई चलाता है।

+0

क्या आप समझा सकते हैं कि यह क्या है? मैंने उस वेबसाइट को पढ़ने की कोशिश की है लेकिन इसका कोई अर्थ नहीं उठा सकता है। – CJ7

+0

क्या आप इसे देख सकते हैं - http://blog.augustoalvarez.com.ar/2012/01/31/app-va-quick-glance-to-server-app-v-and-sequencing- सर्वर- अनुप्रयोग / – whihathac

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