2011-11-23 10 views
9

कुछ शर्त के कारण संदेश बॉक्स दिखाने का कोई तरीका है लेकिन स्थापना जारी रखें?विक्स: रद्द किए बिना सशर्त संदेश बॉक्स दिखाएं

मैं उपयोगकर्ता को कम से कम रैम की सिफारिश की गई राशि के बारे में सूचित करना चाहता हूं।

अगर मैं

<Condition Message="For running $(var.ProductName), 4GB of physical memory are recommended."> 
    <![CDATA[PhysicalMemory > 3500]]> 
</Condition> 

का उपयोग स्थापना की रैम 4 जीबी की तुलना में कम के साथ मशीनों पर असफल है।

मैं इससे कैसे बच सकता हूं?

आपकी मदद के लिए धन्यवाद!

उत्तर

10

धन्यवाद कॉस्मिन Pirvu के जवाब देने के लिए मैं custom actions साथ निम्नलिखित समाधान मेरे लिए काम करने के लिए हो सकता है, मैं आपके साथ साझा करना चाहते हैं:

<Custom Action="PhysicalMemoryWarning" After="InstallInitialize" /> 
<CustomAction Id="PhysicalMemoryWarning" Script="vbscript"> 
    <![CDATA[ 
    If session.Property("PhysicalMemory") < 3500 Then 
    MsgBox("For running $(var.ProductName), 4GB of physical memory are recommended.") 
    End If 
    ]]> 
</CustomAction> 
+6

सत्र का उपयोग करना भी अच्छा होगा। संदेश - http://msdn.microsoft.com/en-us/library/windows/desktop/aa371672(v=vs.85).aspx - MsgBox के बजाय। यह विंडो parenting रखने और सही ध्यान केंद्रित करने में मदद मिलेगी। –

+0

आपके संकेत के लिए बहुत धन्यवाद! Win7 के तहत हम अक्सर समस्या में भाग गए कि MsgBox वास्तविक इंस्टॉलर विंडो के पीछे "पीछे" दिखाई दिया। अगर मैं आपको सही ढंग से समझता हूं, तो इसे 'session.Message' का उपयोग करके तय किया जा सकता है? (मुझे यह मानना ​​है कि मैं अभी भी आपके द्वारा लिंक किए गए दस्तावेज़ों को पूरी तरह से समझ नहीं पा रहा हूं:?) –

+1

सही, अगर आप सत्र का उपयोग करते हैं। संदेश, यह सही ढंग से अभिभावित किया जाएगा ताकि यह मुख्य एमएसआई विंडो के पीछे नहीं जा सके। मैं जिस वीबी एपीआई से जुड़ा हूं वह सिर्फ एमएसप्रोसेस मैसेज के आसपास एक रैपर है - http://msdn.microsoft.com/en-us/library/windows/desktop/aa370354(v=vs.85).aspx - और इसके अलावा लिंक भी देखें उपयोगी - http://msdn.microsoft.com/en-us/library/windows/desktop/aa371614(v=vs.85).aspx –

2

विंडोज इंस्टालर इसके लिए प्रत्यक्ष समर्थन प्रदान नहीं करता है। लेकिन आप एक साधारण custom action का उपयोग कर सकते हैं। यह एक EXE, DLL, VBScript, जावास्क्रिप्ट आदि

+0

के लिए धन्यवाद स्पष्टीकरण। मैंने एक समस्या जोड़ दी है जिसमें मेरी समस्या को हल करने के लिए कस्टम एक्शन शामिल है। –

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