पर चलने से 32-बिट इंस्टॉलर को रोकें उपयोगकर्ता भ्रम के कारण, हमारे ऐप को 32-बिट और 64-बिट संस्करणों के लिए अलग-अलग इंस्टॉलर की आवश्यकता होती है। जबकि 32-बिट इंस्टॉलर Win64 पर ठीक चलता है, इसमें समर्थन सिरदर्द बनाने की क्षमता है और हम इसे होने से रोकना चाहते हैं।वाईएक्स: 64-बिट विंडोज
मैं 32-बिट एमएसआई इंस्टॉलर को 64-बिट विंडोज मशीनों पर चलने से रोकना चाहता हूं।
<Condition Message="You are attempting to run the 32-bit installer on a 64-bit version of Windows.">
<![CDATA[Msix64 AND (NOT Win64)]]>
</Condition>
Win64 इस तरह परिभाषित किया गया साथ
:
<?if $(var.Platform) = "x64"?>
<?define PlatformString = "64-bit"?>
<?define Win64 ?>
<?else?>
<?define PlatformString = "32-bit"?>
<?endif?>
बात है, मैं इस चेक सही काम करने के लिए नहीं मिल सकता है कि अंत करने के लिए मैं निम्नलिखित शर्त है। या तो यह हर समय, या किसी भी समय आग लगती है। लक्ष्य संकलन-समय Win64
चर के विरुद्ध रन-टाइम msix64
परिवर्तनीय की उपस्थिति की जांच करना है और यदि यह लाइन नहीं है तो कोई त्रुटि फेंक दें, लेकिन तर्क काम नहीं कर रहा है कि मैं इसका इरादा कैसे रखता हूं। क्या कोई बेहतर समाधान के साथ आया है?
यह चाल चल रहा है। मेरी गलती 'हालत' के लिए तर्क को पीछे की ओर ले रही थी। –
Msix64 को Windows इंस्टालर 3.1 की आवश्यकता है जो डिफ़ॉल्ट रूप से XP पर मौजूद नहीं है (देखें http://msdn.microsoft.com/en-us/library/aa370522(v=VS.85).aspx) –