2012-01-12 13 views
28

में एमएसआई स्थापित करें मैं एक विशिष्ट निर्देशिका में msiexec के साथ एक एमएसआई स्थापित करना चाहता हूं। मैं उपयोग कर रहा हूँ:msiiexec के साथ एक विशिष्ट निर्देशिका

msiexec /i "msi path" INSTALLDIR="C:\myfolder" /qb 

यह, "INSTALLDIR" के साथ काम नहीं कर रहा है क्योंकि MSI डिफ़ॉल्ट पथ में और मेरे विशिष्ट रास्ते में नहीं स्थापित करने के है।

उत्तर

35

इंस्टालड के बजाय TARGETDIR का उपयोग करें। ध्यान दें कि TARGETDIR संपत्ति के लिए उद्धरण चिह्न रिक्त स्थान के मामले में केवल पथ के आसपास हैं।

msiexec/i "MSI पथ" TARGETDIR = "C: \ MyFolder"/QB

5

msiexec/i "MSI पथ" INSTALLDIR = "C: \ MyFolder"/q

केवल इस संस्करण ने अच्छी तरह से काम किया !!!

+1

मेरे लिए भी यह केवल एक ही काम किया :) – szaman

12

InstallShield 12

INSTALLDIR इस तरह के अंत उपयोगकर्ता Setup.exe या अपने .msi डेटाबेस की शुरूआत के रूप में एक नियमित रूप से Windows इंस्टालर आधारित (या InstallScript एमएसआई) स्थापना, के लिए मुख्य उत्पाद स्थापना निर्देशिका प्रतिनिधित्व करता है।

TARGETDIR इंस्टॉलस्क्रिप्ट स्थापना के लिए स्थापना निर्देशिका का प्रतिनिधित्व करता है, या एक व्यवस्थापकीय विंडोज इंस्टालर आधारित स्थापना के लिए (जब उपयोगकर्ता Setup.exe या MsiExec.exe को/कमांड-लाइन स्विच के साथ चलाता है)।

एक इंस्टॉलस्क्रिप्ट एमएसआई प्रोजेक्ट में, इंस्टालस्क्रिप्ट चर MSI_TARGETDIR प्रशासनिक स्थापना के लक्ष्य को संग्रहीत करता है।

2

यह काम करना चाहिए:

msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb 
2

वास्तव में, दोनों INSTALLPATH/TARGETDIR सही हैं। यह इस बात पर निर्भर करता है कि एमएसआई कैसे प्रक्रिया करता है।

मैं wixToolSet का उपयोग कर एक एमएसजी बनाते हैं। WXS फ़ाइल में, वहाँ "निर्देशिका" नोड है, जो जड़ हो सकता है निम्नलिखित की तरह dir:

<Directory Id="**TARGETDIR**" Name="SourceDir">; 

आप देख सकते हैं: Id जो आप का उपयोग करना चाहिए है।

1

यह एक मेरे लिए बहुत

काम किया

msiexec/i "MSI पथ" INSTALLDIR = 'डी: \ MyFolder "/ q

मैं दो अन्य पुनरावृत्तियों की कोशिश की थी और दोनों डिफ़ॉल्ट में स्थापित सी: \ प्रोग्राम फ़ाइलें

INSTALLDIR = "डी: \ myfolder"/q इसे अन्य ड्राइव पर स्थापित किया गया।

0

इंस्टॉलेशन का उपयोग करें। जब आपको समस्याएं होती हैं, तो verbose लॉग डंप करने के लिए/lv log.txt का उपयोग करें। लॉग आपको बताएंगे कि क्या कोई संपत्ति परिवर्तन है जो आपके अपने विकल्पों को ओवरराइड करेगा। यदि आपने पहले ही उत्पाद इंस्टॉल किया है, तो दूसरा रन इंस्टॉल स्थान को बदले बिना इसे अपडेट कर सकता है। आपको पहले अनइंस्टॉल करना होगा (/ x विकल्प का उपयोग करें)।

1
मेरी MSI के लिए

, मैं DEFAULTPATHC = स्थापित करने के लिए किया था 'डी: \ MyFolder "क्योंकि बाद में स्थापना की प्रक्रिया में, दोनों INSTALLDIR और TARGETDIR उन सभी को मेरी मामले में DEFAULTPATHC

1

में मूल्य को प्रतिबिंबित करने के लिए रीसेट किया गया काम नहीं है और अंत में यह

msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb 

मैं ezzadeen द्वारा वर्णित और वहाँ में "INSTALLFOLDER" पाया तरह log.txt जाँच की थी।