में पास कमांड लाइन वैरिएबल मैं वाईएक्स के साथ एक एमएसआई इंस्टॉलर का निर्माण कर रहा हूं और मैं WixUI_Advanced
का उपयोग कर रहा हूं। मेरे ApplicationFolder
की परिभाषा इस तरह दिखती है, किसी अन्य SO उत्तर (WiX tricks and tips) में सलाह के बाद।वाईएक्सएक्स आधारित विंडोज इंस्टालर एमएसआई
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="APPLICATIONFOLDER" Name="$(var.InstallName)">
मैं अब उपयोगकर्ता एक मूक स्थापित करने और रास्ते पर ApplicationFolder
नाम गुजरती हैं, या तो उचित प्रोग्राम फ़ाइलों फ़ोल्डर या निरपेक्ष के सापेक्ष करने के लिए विकल्प देना चाहते हैं।
मुझे पता है कि मैं msiexec,
की कमांड लाइन पर सार्वजनिक संपत्ति मानों को पारित कर सकता हूं लेकिन मैं इसे ApplicationFolder
के मान के रूप में कैसे उपयोग करूं और मैं इसे पूर्ण बनाम सापेक्ष पथों के लिए कैसे सेट करूं?
यह काम करता है जब मैं एक/शांत इंस्टॉल करता हूं, लेकिन जब मैं एक इंटरैक्टिव इंस्टॉल करता हूं और लाइसेंस स्क्रीन पर उन्नत बटन दबाता हूं तो मुझे निर्देशिका चयन संवाद में मेरा निर्दिष्ट आवेदन फ़ोल्डर दिखाई नहीं देता है। मैं उम्मीद करता हूं/इसे वहां भी दिखाना चाहता हूं। –
@ जेरोएन मैं देखता हूं। मैं एमएसआई वर्बोज़ लॉग का उपयोग करके सुझाव दे सकता हूं कि APPLICATIONFOLDER का मूल्य क्यों संशोधित किया गया है और कहां है। अपने पैकेज को 'msiexec/i package.msi/lv * x log.txt APPLICATIONFOLDER = "C: \ Program Files \ Company \ Product \" के रूप में चलाएं। फिर 'APPLICATIONFOLDER' के लिए लॉग खोजें, आप देखेंगे कि यह कब संशोधित है। (क्षमा करें मुझे थोड़ी देर लग गई।) –