मैं अपने .NET उत्पाद के लिए इंस्टॉलर बनाने के लिए VS2008 इंस्टॉलर (प्लस एक कस्टम ओर्का एक्शन) का उपयोग कर रहा हूं।मैं अपने VS2008 x86 इंस्टॉलर को x64 पर x64 असेंबली कैसे इंस्टॉल कर सकता हूं?
मुझे हाल ही में पता चला है कि मैं उपयोग कर रहा था कि तीसरे पक्ष के असेंबली में से एक x86- विशिष्ट है (क्योंकि इसमें कुछ मूल कोड शामिल है); इस प्रकार, x64 ग्राहकों को स्टार्टअप पर क्रैश हो रहा था, असेंबली के बारे में त्रुटियों के साथ उनके मंच के लिए उचित नहीं है।
मैंने इस तरह के ग्राहक को इस तीसरे पक्ष की असेंबली के x64 संस्करण की एक प्रति भेजी, और उसे मौजूदा x86 एक पर कॉपी करने के लिए कहा। यह काम किया, मीठा! तो अब मुझे इंस्टॉलर को मेरे लिए यह करने की ज़रूरत है।
यह वास्तव में अनौपचारिक प्रतीत होता है :(आदर्श रूप से, मैं बस इस तीसरे पक्ष की असेंबली के x86 और x64 संस्करणों को शामिल करने के लिए इंस्टॉलर (जो x86 होगा, क्योंकि दोनों प्लेटफार्मों पर चल सकता है) स्थापित करना चाहते हैं, और स्थापित करें उचित एक। दूसरे शब्दों में, मैं एक एकल इंस्टॉलर चाहता हूं जो मेरे उपयोगकर्ताओं के जीवन को आसान बनाता है।
मैंने सोचा कि मैंने एमएसआई सशर्त बयानों और सभी का उपयोग करके यह काम किया है। लेकिन स्पष्ट रूप से नहीं ... वीएस -2008 सेटअप परियोजनाएं जब तक आप "x86" या "x64" निर्दिष्ट नहीं करते हैं, तब तक संकलित नहीं होंगे। यदि आप x86 निर्दिष्ट करते हैं, तो यह संकलन त्रुटि देता है जिसमें कहा गया है कि इसमें x64 असेंबली शामिल नहीं हो सकती है। यदि आप x64 निर्दिष्ट करते हैं, तो परिणाम x86 कंप्यूटर पर निष्पादित नहीं किया जा सकता डैन!
किसी को भी इस समस्या को पहले होना चाहिए था। दुर्भाग्यवश Google अनुपयोगी है, इसलिए मैं स्टैक ओवरफ्लो पर जाता हूं!
धन्यवाद; यह सबसे अच्छा समाधान है, मुझे लगता है। जब आप कहते हैं कि "x64 प्लेटफ़ॉर्म पर WOW64 का उपयोग करके एक x86 एमएसआई स्थापित किया जाएगा," तो इसका मतलब यह होगा कि मेरा एप्लिकेशन WOW64'ed होने वाला होगा? और मुझे लगता है कि यह बुरा है। तो अंत में एमएसआई के बीच चयन करने के लिए मेरे पास कुछ प्रकार का बूस्टरपैपर हो सकता है? – Domenic
"क्या इसका मतलब होगा कि मेरा आवेदन WOW64'ed होने वाला होगा?" - हाँ, इसका मतलब यह होगा। आपका एप्लिकेशन 64-बिट मशीन पर 32-बिट प्रक्रिया के रूप में चलाया जाएगा क्योंकि यह "प्रोग्राम फ़ाइलें (x86)" फ़ोल्डर में स्थापित है। एक x86 बूटस्ट्रैपर वास्तव में एक समाधान है जिसका उपयोग आप एप्राइपिएट एमएसआई को चुनिंदा रूप से शुरू करने के लिए कर सकते हैं। –