2009-09-14 10 views
10

32 और 64-बिट वातावरण दोनों के लिए इंस्टॉलर जेनरेट करने के लिए InstallShield का उपयोग करने का सबसे अच्छा तरीका क्या है? मेरा अधिकांश आवेदन बिट-तटस्थ (.net, जावा, डेटा फाइल) है। अगर मैं केवल उन फ़ाइलों को एक बार पैकेज करना चाहता हूं तो मैं इसे पसंद करूंगा। क्या इंस्टॉलशील्ड परियोजनाओं के रखरखाव को कम करने के लिए कोई मानक दृष्टिकोण है? वर्तमान में एकमात्र समाधान जो मैं पा सकता हूं वह दो डुप्लिकेट प्रोजेक्ट्स है, जहां प्रत्येक घटक 64-बिट के साथ फ़्लैग किया गया है और डिफ़ॉल्ट स्थापना निर्देशिका प्रोग्रामफाइल 64 पर सेट है। ऐसा करने का एक बेहतर तरीका होना चाहिए!इंस्टॉलशील्ड 64-बिट प्रोजेक्ट सेटअप

मेरे आवेदन का केवल एक छोटा सा हिस्सा इस बात पर ध्यान देता है कि इसे कैसे बिट किया जा सकता है। हमारे पास कुछ सी ++ डीएलएल और जेएनआई कॉल हैं जिन्हें अलग होने की आवश्यकता है। इनमें से अधिकांश रनटाइम पर यह निर्धारित करके निर्धारित किए जाते हैं कि जेआरई हम चल रहे हैं 64-बिट्स।

मैं दो 130 एमबी फ़ाइलें वितरित से बचने के लिए, और आदर्श रूप में एक बड़ी ज़िप फ़ाइल में दोनों संस्थापक है, प्रत्येक संदर्भित आम घटकों जहाज चाहते हैं। क्या मुझे सामान्य चीजों के लिए विलय मॉड्यूल बनाने और प्रत्येक परियोजना में संदर्भित करने की आवश्यकता है?

यदि हम मायने रखते हैं तो हम इंस्टॉलशेल्ड 200 (प्रीमियर) का उपयोग कर रहे हैं।

उत्तर

7
  • आप अपने सेटअप में शून्य 64-बिट घटक होने है, तो आप बस इसे एक 100% 32-बिट सेटअप कर सकते हैं के साथ भाग प्राप्त कर सकते हैं, और यह 32-बिट और में समान रूप से अच्छी तरह से काम करेंगे, तो 64 बिट विंडोज़।

  • अगर यह संभव नहीं है, मैं उत्पाद विन्यास झंडे का उपयोग करें। "विज्ञप्ति" दृश्य पर, एकाधिक उत्पाद कॉन्फ़िगरेशन बनाएं, जैसे कि "XP32" और "XP64"। टेम्पलेट सारांश फ़ील्ड को उपयुक्त के रूप में चिह्नित करें: एक "इंटेल; 1033" और दूसरा "AMD64; 1033" के रूप में। इसे पहचानने के लिए एक अद्वितीय उत्पाद कॉन्फ़िगरेशन ध्वज के साथ प्रत्येक को संबद्ध करें, उदा। "xp32", "xp64"। फिर, प्रत्येक फ़ीचर के लिए, उचित रिलीज ध्वज सेट करें। आप आवश्यकतानुसार 64-बिट घटकों पर 64-बिट गुण सेट कर सकते हैं; बस यह सुनिश्चित करें कि जिन सुविधाओं को आप "xp32" के रूप में चिह्नित करते हैं उनमें उनमें 64-बिट घटक नहीं हैं। यह आपको केवल 1 InstallShield प्रोजेक्ट फ़ाइल की अनुमति देगा, लेकिन 32-बिट और 64-बिट रिलीज़ दोनों उत्पन्न करेगा।

+0

वहाँ एक रास्ता मैं प्रत्येक उत्पाद विन्यास के लिए एक अलग मूल्य के लिए स्थापना निर्देशिका सेट कर सकते हैं है? मुझे इसके लिए कोई विकल्प नहीं दिख रहा है। मैं 64-बिट में प्रोग्रामफाइल में प्रोग्रामफाइल और 64-बिट में प्रोग्रामफाइल 64 पर सेट करना चाहता हूं ताकि यह हमेशा अंतिम उपयोगकर्ता को सी: \ प्रोग्राम फ़ाइलों में स्थापित होने के रूप में दिखाई दे। – galuvian

+4

सामान्य जानकारी/उत्पाद गुण दृश्य पर, INSTALLDIR को ProgramFilesFolder पर सेट करें। फिर, "सेट निर्देशिका" कस्टम एक्शन बनाएं (टाइप 35) और प्रोग्रामफाइल 64 फ़ोल्डर में INSTALLDIR सेट करने के लिए इसका उपयोग करें; इसे VersionNT64 पर हालत दें, इसलिए यह केवल 64-बिट सिस्टम पर चलता है। बॉट 32/64 बिट सेटअप बनाने के लिए मैं 1 प्रोजेक्ट फ़ाइल का उपयोग करने के लिए यही करता हूं। –

+0

यह एक पुराना उत्तर है, लेकिन मुझे उम्मीद है कि आप अभी भी इसके शीर्ष पर हैं। जहां तक ​​मैं देख सकता हूं, इंस्टॉलशील्ड 2014 में रिलीज दृश्य में 'टेम्पलेट सारांश' फ़ील्ड नहीं है। मैं एक ही आईएसएम फ़ाइल से x32 और x64 कैसे हो सकता हूं? – Uri

0

आप के रूप में इस थ्रेड में उल्लिखित एक भी 32-बिट सेटअप परियोजना का उपयोग करते हैं, तो आप क्या कर रहे हो पर निर्भर करता है 64-बिट सिस्टम पर 32-बिट चल रही प्रक्रियाओं समस्याओं में चला सकते हैं। चूंकि आपका सेटअप 32-बिट प्रक्रिया है, इसलिए ओएस मानता है कि इसे 32-बिट संसाधनों का उपयोग करने की आवश्यकता है। 64-बिट मशीनों पर, आपके पास दोनों हैं। उदाहरण के लिए, system32 और SysWOW64। (आश्चर्यजनक रूप से पर्याप्त है, system32 64-बिट संसाधनों को रखता है जबकि SysWOW64 32-बिट है।) आप ओएस को SYSNATIVE फ़ाइल सिस्टम रीडायरेक्टर का उपयोग कर 64-बिट संसाधनों का उपयोग करने के लिए मजबूर कर सकते हैं। मैंने पाया यह उपयोगी होता है जब की स्थापना Windows सर्वर 2008R2 पर DISM.exe या PKGMGR.exe का उपयोग कर और आईआईएस 2012

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