एक MSI पैकेज की मूक स्थापना


84

मेरे पास एक MSI पैकेज है जिसे मुझे स्थापित करने की आवश्यकता है यदि पैकेज पहले से स्थापित नहीं है। इसके अलावा मुझे इसे चुपचाप स्थापित करने की आवश्यकता है। पैकेज उपयोगकर्ता के लिए संकेत देता है:

  • स्थापना स्थान (C: \ Program Files \ Foobar)
  • स्थापित प्रकार: न्यूनतम और पूर्ण (न्यूनतम)

मुझे कमांड लाइन मापदंडों या किसी अन्य विधि का उपयोग करके इन दो मापदंडों को ओवरराइड करने की आवश्यकता है। तो मैं इन दो मुद्दों के बारे में कैसे जाऊं। मैं स्क्रिप्टिंग के लिए VBScript का उपयोग करूंगा।

जवाबों:


129

आपको साइलेंट इंस्टॉलेशन करने के लिए /quietया /qnविकल्पों का उपयोग करने में सक्षम होना चाहिए msiexec

MSI पैकेज सार्वजनिक संपत्तियों को निर्यात करते हैं, जिन्हें आप मापदंडों PROPERTY=valueके अंत में सिंटैक्स के साथ सेट कर सकते हैं msiexec

उदाहरण के लिए, यह कमांड एक यूआई और बिना रिबूट के पैकेज को लॉग और दो गुणों के साथ स्थापित करता है:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2

आप इसके लिए विकल्प msiexecचला सकते हैं बस इसे स्टार्ट -> रन से कोई विकल्प नहीं के साथ चला सकते हैं ।


6
क्या स्वीकार्य मापदंडों ( PROPERTY1और PROPERTY2आपके उदाहरण में) की सूची खोजने का एक तरीका है ?
सलमान ए

यहाँ पूर्वनिर्धारित गुण सूची है: msdn.microsoft.com/en-us/library/windows/desktop/… प्रत्येक स्थापना संलेखन उपकरण के लिए स्थापना फ़ोल्डर गुण अलग है। MSI बनाने के लिए आपने क्या उपयोग किया था?
cosmin

@Cosmin: MSI में एक भुगतान प्रणाली का रनटाइम DLL होता है (मेरे द्वारा नहीं बनाया गया)। मैं MSI को विच्छेदित करने के लिए Ocra नामक एक टूल को देख रहा हूं, इसने मुझे "INSTALLLOCATION" नामक एक चर के बारे में संकेत दिया। मैं जाँच रहा हूं।
सलमान ए

7
नोट: MSI पैकेज के लिए पूर्ण फ़ाइल पथ को निर्दिष्ट करने के बारे में msiexec बहुत उपयुक्त लग रहा था। इस .\mypackage.msiव्यवसाय के किसी भी प्रयास मत करो । मुझे थोड़ा समझ लिया कि यह पता लगाने के लिए।
फिल

4
एमएस उत्पाद का नाम वास्तव में ओर्का है, ओकरा नहीं। गलत वर्तनी से Google को मुश्किल हो सकती है। आपको बहुत सारे क्रियोल व्यंजनों मिल सकते हैं ... लेकिन एमएसआई बिल्डरों की नहीं। msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
स्कॉट लुंडबर्ग

12

MSI को चुपचाप स्थापित करने का उचित तरीका msiexec.exe command lineइस प्रकार है:

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log"

त्वरित स्पष्टीकरण:

 /L*V "C:\Temp\msilog.log"= verbose logging
 /QN = run completely silently
 /i = run install sequence 

यहाँ एक और अधिक व्यापक उत्तर है: MSI स्थापित करने के लिए बैच स्क्रिप्ट । यह उत्तर msiexec.exe कमांड लाइन विकल्पों पर विवरण प्रदान करता है और "पब्लिक प्रॉपर्टीज" को खोजने का विवरण है जिसे आप कमांड लाइन पर स्थापित समय पर सेट कर सकते हैं। ये गुण आम तौर पर प्रत्येक एमएसआई के लिए अलग होते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.