2010-12-08 18 views
9

क्या किसी को पता है कि "प्रोग्रामफाइल" चर का उपयोग होने पर विंडोज 7 किसी भी तरह से "प्रोग्रामफाइल (एक्स 86)" पर्यावरणीय चर पर वापस आ जाएगा?विंडोज 7 64-बिट प्रोग्रामफाइल पर्यावरण परिवर्तनीय

हमारे पास ऐसी स्थिति है जहां एक डेवलपर दृश्य स्टूडियो और "$ (प्रोग्रामफाइल)" का उपयोग कर प्रोज फ़ाइल संदर्भ असेंबली का उपयोग कर रहा है। मशीन 64-बिट और "प्रोग्रामफाइल" चर बिंदुओं को "सी: \ प्रोग्राम फ़ाइलें" पर है, हालांकि असेंबली "सी: \ प्रोग्राम फ़ाइलें (X86)" में हैं, फिर भी प्रोजेक्ट बनाता है। यह तब नहीं बनाता है जब शाब्दिक "सी: \ प्रोग्राम फ़ाइलें" पथ का उपयोग किया जाता है। कंपाइलर का कहना है कि यह असेंबली

+4

हंस का जवाब सही है और आप यहां अधिक जानकारी प्राप्त कर सकते हैं: http://msdn.microsoft.com/en-us/library/aa384232%28VS.85%29.aspx –

उत्तर

6

हां, विंडोज स्वचालित रूप से पर पर c:\program files (x86) पर फ़ाइल को एक्सेस और फ़ाइल एक्सेस कर सकता है। विजुअल स्टूडियो के साथ-साथ एमएसबिल्ड 32-बिट प्रोग्राम हैं। C: \ windows \ system32 बनाम c: \ windows \ syswow64 के लिए भी सही है।

+0

धन्यवाद। बिल्कुल यही मैने सोचा। – PhilBrown

+1

मुझे नहीं लगता कि यह पर्यावरण परिवर्तनीय% प्रोग्रामफाइल% के उपयोग को छोड़कर सत्य है जो प्रक्रिया के प्रत्यक्षदर्शी के आधार पर स्वचालित रूप से सही पथ प्रदान करता है। ओपी की स्थिति काम करने का कारण यह है कि वीएस 32-बिट और '$ (प्रोग्रामफाइल)' पर्यावरण परिवर्तनीय% प्रोग्रामफाइल% को संदर्भित करता है जो 64 पर 32-बिट प्रक्रिया के लिए 'सी: \ प्रोग्राम फ़ाइलें (x86)' होगा -बीएस ओएस यदि मैं 32-बिट प्रक्रिया से 'C: \ Program Files \ Acme \ foo64.exe' में 64-बिट exe को आग लगाता हूं तो ओएस बस मुझे पथ पर 'C: \ Program Files (x86) \ Acme \ foo64.exe'। –