2010-05-24 19 views
21

वाईएक्स में एक मूक इंस्टॉलर कैसे बनाया जा सकता है जो उपयोगकर्ता को कोई यूआई संवाद प्रदर्शित नहीं करता है और डिफ़ॉल्ट सेटिंग्स के साथ इंस्टॉल, अपग्रेड और अनइंस्टॉल करता है?मैं एक चुप इंस्टॉल कैसे कर सकता हूं और वाईएक्स और एमएसआई के साथ अनइंस्टॉल कर सकता हूं?

उत्तर

-1

बस किसी भी यूआई/UIRef तत्वों और शामिल नहीं हैं तो कोई यूआई शामिल किया जाएगा :)

+1

यह बहुत सीमित मूल्य है। उपयोगकर्ता को एमएसआई पर डबल क्लिक करने के बाद और यह बिना किसी पुष्टि या परिणामों की स्थिति के इंस्टॉल करता है, यह एक बहुत ही उप-उपयोगकर्ता उपयोगकर्ता अनुभव आईएमओ है। यह ठीक है अगर यूआई को संभालने वाले किसी अन्य प्रोग्राम द्वारा एमएसआई के समूह का एक हिस्सा बदल दिया जा रहा है (विजुअल स्टूडियो, एसक्यूएल सर्वर ..) पर विचार करें, लेकिन यदि यह अकेले स्टैंड एमएसआई है, तो मुझे लगता है कि यह केवल आधा काम है। –

+0

मैं सहमत हूं कि यह निश्चित रूप से सीमित मूल्य है, लेकिन यह ओपी का जवाब देता है। जैसा कि आपने नीचे विस्तृत किया है, msiexec पैरामीटर का उपयोग करना एक बेहतर (या "सही") समाधान है। – saschabeaumont

+0

कमांड लाइन पैरामीटर के साथ msiexec.exe का उपयोग करके नो-यूई के साथ शांत मोड निर्दिष्ट करने का तरीका है। – nil

54

Windows Installer (एमएसआई) के बाद आदेश पंक्ति तर्क का उपयोग करता है चुप रहने की:

मौन स्थापित करने या चुप प्रमुख उन्नयन:

msiexec.exe /i foo.msi /qn 

मौन मामूली उन्नयन:

msiexec.exe /i foo.msi REINSTALL=ALL REINSTALLMODE=vomus /qn 

मौन स्थापना रद्द करें:

msiexec.exe /x foo.msi /qn 

निष्पादन-योग्य पथ:

C:\Windows\system32\msiexec.exe 
+1

शानदार उत्तर। थोड़ा मुद्दा यह है कि यदि आपको किसी यूएसी संवाद के माध्यम से इंस्टॉलेशन को अधिकृत करना है, तो कोई भी/qn का उपयोग करके प्रस्तुत नहीं किया जाता है। हालांकि, अगर आप/qb का उपयोग करते हैं तो आपको इसे अधिकृत करने का विकल्प मिलता है। – Steztric

+1

यह डिज़ाइन के रूप में कार्य करता है। मूक इंस्टॉल परिभाषा गैर-इंटरैक्टिव द्वारा हैं और एक यूएसी प्रॉम्प्ट एक बातचीत है। 30 सेकंड में हाँ पर क्लिक करने में विफलता इंस्टॉल विफल हो जाएगी। इंस्टॉल करने का आह्वान करने से पहले आपकी कॉलिंग प्रक्रिया को पहले ही बढ़ाया जाना चाहिए। –

+0

मुझे भी एक ही समस्या का सामना करना पड़ रहा है, जब मैंने एमएसआई पर डबल यूआई मोड द्वारा एमएसआई को पूर्ण यूआई मोड में चलाने की कोशिश की तो यह मुझे एक यूएसी (प्रोग्राम का नाम, प्रकाशक: अज्ञात, फ़ाइल उत्पत्ति) संकेत देता है और मुझे आगे बढ़ने के लिए हाँ चुनना होगा स्थापना लेकिन मेरी आवश्यकता एमएसआई को गैर इंटरैक्टिव मोड में cmd ​​msiexec कमांड का उपयोग करके स्थापित करना है (मूल रूप से इसे स्वचालित रूप से यूएसी में हाँ लेना चाहिए) लेकिन यह किसी भी मामले में नहीं हो रहा है (/ q/a/qn)। मैं 100 के सर्वर पर एमएसआई को तैनात करने के लिए एक उपकरण का उपयोग कर रहा हूं और यह आंतरिक रूप से एक कमांड (msiexec/i /qn) बनाता है जो विफलता की ओर जाता है। किसी के पास इसका समाधान है? –

4

सभी MSI इंस्टॉलर WiX द्वारा बनाई गई या आदेश के माध्यम से नियंत्रित किया जा सकता है कि क्या नहीं लाइन तर्क। तो आप यूआई के साथ एक इंस्टॉलर बना सकते हैं और अभी भी इसे चुपचाप इंस्टॉल कर सकते हैं, इंस्टॉलर से यूआई को हटाने की जरूरत नहीं है बस इसे कमांड लाइन पर दबाएं। याद रखें, यह सुनिश्चित करें कि आप अपने पहले संस्थापक में उन्नयन तत्व जोड़ सकते हैं ताकि बाद में लोगों को इन कमांड लाइन पैरामीटर में से एक का उपयोग करके

+0

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

11

इंस्टालर .exe के उपयोगकर्ता इनपुट की आवश्यकता के बिना कमांड लाइन से चलाया जा सकता है WiX के साथ बनाया से मेल खाएगी बनाने:

  • /शांत - कोई यूआई प्रदर्शित नहीं करता
  • /निष्क्रिय - यूआई प्रदर्शित करता है लेकिन उपयोगकर्ता इनपुट की आवश्यकता नहीं होती है। अनिवार्य रूप से बस एक स्थापित प्रगति पट्टी प्रदर्शित करता है

यह उत्तर वाईएक्स 3.9 पर आधारित है।

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

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