2009-10-30 5 views
13

मुझे किसी भी कंप्यूटर सेवा को एसीसीपीयू के रूप में संकलित किया गया है। मैं इसे वितरित करने के लिए हमारे इंस्टॉलर में लाने की कोशिश कर रहा हूं। हालांकि ... मैं InstallUtil के 32 बिट और 64 बिट संस्करणों के बीच अंतर पर अस्पष्ट हूं। क्या किसी को पता है कि (यदि कोई है) वहाँ हैं?.net installUtil उपयोगिता - 32 बिट बनाम 64 बिट

मेरी 64 बिट मशीन पर, मैं या तो $ (WinDir) \ Microsoft.NET \ Framework64 \ v2.0.50727 या $ (WinDir) \ Microsoft.NET \ Framework \ v2.0.50727 चला सकता हूं।

दोनों मामलों में, कार्य प्रबंधक में परिणामी सेवा प्रक्रिया में * 32 ध्वज लागू नहीं होता है।

32 बिट मशीनों (स्पष्ट रूप से) पर केवल 32 बिट इंस्टॉलयूट काम करता है।

क्या इंस्टॉलयूट के \ Framework64 \ संस्करण का उपयोग करने की आवश्यकता है? यह अलग-अलग क्या करता है?

उत्तर

14

this के अनुसार, आपको 64-बिट और एमएसआईएल असेंबली स्थापित करने के लिए 64 बिट संस्करण का उपयोग करना चाहिए, लेकिन यह क्यों नहीं कहता है।

.नेट फ्रेमवर्क संस्करण 2.0 के साथ शुरू, आम भाषा क्रम (CLR) इंस्टालर उपकरण का केवल 32-बिट संस्करण साथ जहाजों, के 32-बिट संस्करण है, लेकिन के 64-बिट संस्करण इंस्टॉलर टूल के 32-बिट और 64-बिट संस्करणों के साथ सीएलआर जहाजों। 64-बिट सीएलआर का उपयोग करते समय, 32-बिट असेंबली स्थापित करने के लिए 32-बिट इंस्टॉलर टूल का उपयोग करें, और 64-बिट इंस्टॉलर टूल 64-बिट और माइक्रोसॉफ्ट इंटरमीडिएट भाषा (एमएसआईएल) असेंबली स्थापित करने के लिए। के दोनों संस्करण इंस्टॉलर टूल वही व्यवहार करते हैं।

मेरा मानना ​​है कि here क्यों बताता है। यदि आप पोस्ट के निचले हिस्से को देखते हैं, तो यह दोनों के बीच कुछ अंतर बताता है और 32-बिट इंटैलुटिल का उपयोग कब किया जाता है।

Installutil.exe एक विशिष्ट मंच के लिए बनाया गया है, इसलिए यह एक 32 या 64-बिट प्रक्रिया के रूप में शुरू कर देंगे और संबंधित रजिस्ट्री हाइव अपडेट नहीं होगा। ध्यान दें कि यदि आपके पास प्लेटफ़ॉर्म स्विच के साथ बनाया गया स्नैप-इन है, तो आप इसे केवल (32-बिट या 64-बिट) में से एक में पंजीकृत कर पाएंगे।

+0

बिल्कुल सही, वह दूसरा एक झुकाव बताता है जो मेरे पास था लेकिन पुष्टि करने में सक्षम नहीं था। धन्यवाद! –

2

मैं भी इस पर भाग गया। मुद्दा यह था कि मेरा वीएस -2008 प्रोजेक्ट प्लेटफार्म लक्ष्य पर सेट किया गया था: कोई भी सीपीयू। इससे कोई फर्क नहीं पड़ता कि InstallUtil.exe (32 या 64) मैं 64 बिट ओएस पर दौड़ गया था, यह 64 बिट के रूप में स्थापित किया गया था।

मैंने अपनी परियोजना सेटिंग को x86 पर लक्षित किया और फिर 32 बिट installutil.exe चलाया और सब कुछ ठीक काम करता है। यह अब कार्य प्रबंधक में * 32 ध्वज दिखाता है।

1

यदि आप 64-बिट केवल असेंबली स्थापित कर रहे हैं, तो 32-बिट InstallUtil इसे लोड करने में सक्षम नहीं होगा। आपको 64-बिट संस्करण का उपयोग करने की आवश्यकता होगी।