जब से मैंने विंडोज 7 का उपयोग करना शुरू किया है तब से यह समस्या मुझे परेशान कर रही है। समय-समय पर मैं इसी तरह के सवालों को मिस मंचों पर देखता हूं, लेकिन मैंने कभी इसका जवाब नहीं देखा। यहां दो परिदृश्य हैं जो लगभग हमेशा इसे पुन: पेश करते हैं:
खोजकर्ता रास्ता
- एक्सप्लोरर के साथ, एक निर्देशिका में नेविगेट करें जिसमें कम से कम एक exe फ़ाइल हो
- एक निर्देशिका तुरंत जाओ
- अभी नेविगेट की गई निर्देशिका हटाएं
- पैदावार फ़ोल्डर पहुँच अस्वीकृत संवाद बताते हुए आपको इस क्रिया को करने के लिए अनुमति की आवश्यकता होती है आपको इस फ़ोल्डर में परिवर्तन करने के लिए व्यवस्थापकों की अनुमति की आवश्यकता होती है , बटन के साथ पुन: प्रयास करें और रद्द करें
- हिटिंग कोशिश फिर कभी काम नहीं करता है। एक-एक मिनट रुककर फिर से क्लिक करने से काम चल जाता है
नोट: यदि चरण 2 में है और एक निर्देशिका ऊपर जाने से पहले एक मिनट या अधिक प्रतीक्षा कर रहा है, तो समस्या उत्पन्न नहीं होती है और फ़ोल्डर को हटाया जा सकता है
विजुअल स्टूडियो तरीका
- एक exe फ़ाइल बनाने वाली परियोजना बनाएँ
- निष्पादन योग्य चलाएं और फिर उसे बंद करें
- प्रोजेक्ट को फिर से बनाएँ (उदाहरण के लिए स्रोत फ़ाइल में एकल वर्ण बदलकर)
- पैदावार घातक त्रुटि LNK1168: लेखन के लिए /path/to/the.exe नहीं खोल सकता
नोट: यदि चरण 2 में और फिर से निर्माण करने से पहले एक मिनट या अधिक प्रतीक्षा की जाती है, तो समस्या उत्पन्न नहीं होती है।
कुछ चश्मा
- VS2008 / 2010/2011 के साथ दोनों विंडोज 7 32 और 64 बिट पर होता है
- 3 विभिन्न मशीनों पर होता है
- मेरे पास किसी भी प्रकार का वायरस स्कैनर नहीं है
- मेरे पास विकलांग सेवाओं का एक समूह है, लेकिन ऐसा कुछ भी नहीं है जो विंडोज को सामान्य रूप से चलने से रोकता है, यूएसी भी अक्षम है
- किसी भी प्रकार की डिस्क पर होता है
- मैं हमेशा एक उपयोगकर्ता खाते का उपयोग करता हूं जो प्रशासक समूह में है
जाहिर है कि दोनों परिदृश्य बहुत समान और बेहद प्रतिलिपि प्रस्तुत करने योग्य हैं। इसलिए मुझे लगा कि कुछ प्रक्रिया में किसी कारण से फाइल खुली होनी चाहिए, और बाद में इसे फिर से जारी करना चाहिए। हालांकि, sysinternals का उपयोग कर
handle -a
सवाल में exe फ़ाइल कभी नहीं दिखाता है। (यह सही तरीके से हैंडल का उपयोग करने का सही तरीका है?) इसलिए जब एक्सप्लोरर / वीएस रिपोर्ट कर रहे हैं कि वे फ़ाइल तक नहीं पहुंच सकते हैं, तो हैंडल ने कहा कि यह कहीं भी उपयोग में नहीं है। यह मुझे अव्यवस्थित छोड़ देता है, इसलिए मैं सोच रहा हूं कि क्या कोई समाधान के साथ आ सकता है: ऐसा क्यों होता है, और इसे कैसे हल किया जाए?
पूछे गए सवालों के जवाब में अपडेट करें :
- मैं सेफ़ मोड में समस्या को पुन: उत्पन्न नहीं कर सका
- शेल एक्सटेंशन का एक गुच्छा स्थापित किया गया है। SellExView से, यहां गैर-Microsoft वाले हैं जो सभी मशीनों के लिए सामान्य हैं: नाइट्रोपीडीएफ, विनरार, टोर्टोइसेगिट, टोर्टोइसेवन, एनवीडिया। मुझे कछुआ वाले सबसे अधिक संदिग्ध लगेंगे, हालांकि दोनों के लिए 'स्टेटस कैश' विकल्प केवल एक फ़ोल्डर के लिए 'स्टेटस कैश' पर सेट है, कोई रिकर्सिव ओवरले नहीं है।
- एक्सप्लोरर समस्या के साथ, ProcessExplorer निष्पादन योग्य नहीं दिखाता है। यह निष्पादन योग्य की निर्देशिका को प्रदर्शित करता है, लेकिन हटाए जाने के बाद भी इसे दिखाता रहता है ताकि यह वास्तव में संबंधित न हो
- वीएस समस्या के साथ, यह वीएस के साथ भी होता है, जब कोई एक्सप्लोरर विंडो लक्ष्य निर्देशिका पर नहीं खुला होता है। और फिर, ProcessExplorer निष्पादन योग्य नहीं दिखाता है, और न ही निर्देशिका निष्पादन योग्य है। ध्यान दें कि वीएस के साथ इस 'मोड' में, समस्या केवल निष्पादन योग्य चलने पर होती है। यदि यह नहीं चल रहा है, तो मैं समय के बाद समस्याओं के बिना इसका निर्माण कर सकता हूं।
- 'वीएस मोड' में और निष्पादन योग्य निर्देशिका पर एक एक्सप्लोरर विंडो खुली (केवल एक सी # एक्स के साथ परीक्षण किया गया), यह अजीब हो जाता है: मैं फिर से निर्माण नहीं कर सकता क्योंकि वीएस शिकायत करता है कि एक्स एक अन्य प्रक्रिया द्वारा उपयोग किया जा रहा है। हालाँकि, यदि मैं खुली खोजकर्ता विंडो से exe को हटाता हूं, तो यह काम करता है, और इसके परिणामस्वरूप निर्माण सफल होता है। फिर, ProcessExplorer में कोई संदर्भ नहीं। जो मेरे निष्कर्षों को handle.exe के साथ मैच करता प्रतीत होता है (पीई न करें और हैंडल वैसे ही एपीआई का आंतरिक रूप से उपयोग करें?)
अद्यतन 2 यह सिर्फ एक्सप्लोरर नहीं हो सकता है: explorer.exe को मारने के बाद, वीएस समस्या अभी भी है।
अपडेट 3 प्रक्रिया मॉनिटर का उपयोग करना जैसा कि अशर बताता है कि दिलचस्प तथ्यों का पता चलता है: एक्सप्लोरर मोड के लिए, निर्देशिका खोलने पर IRP_MJ_CREATE को 10 कॉल हैं। हालाँकि IRP_MJ_CLEANUP में केवल 9 कॉल हैं। यह सब shell32.dll भीतर से ही शुरू कहता है, तो यह निश्चित रूप से है नहीं एक 3 पार्टी समस्या स्थापित करें। और यह स्पष्ट रूप से एक लापता IRP_MJ_CLEANUP है जो समस्या का कारण बनता है: निर्देशिका को खोलने के ठीक 1 मिनट बाद, सिस्टम प्रक्रिया स्वयं IRP_MJ_CLEANUP कॉल जारी करती है और फ़ाइल जारी की जाती है, और हटा दी जाती है।
हालाँकि, मैं अभी भी यह पता नहीं लगा सका कि ऐसा क्यों होता है। क्या यह मेरे द्वारा किए गए कुछ बदलावों के कारण एक खोजकर्ता बग है?
उपाय! मेरे द्वारा अक्षम की गई सेवाओं को देखते हुए, मैंने एप्लिकेशन एक्सपीरियंस के लिए विवरण पर ध्यान दिया , और मैंने कहा, वे अनुप्रयोगों के लिए एप्लिकेशन संगतता कैश अनुरोध संसाधित करते हैं, जैसा कि वे लॉन्च किए गए हैं । परिचित लगता है। और वास्तव में, सेवा शुरू करने के बाद मैं अब किसी भी समस्या को पुन: पेश नहीं कर सकता और ProcMon का उत्पादन अलग और छोटा है। हालांकि मजाकिया है, क्योंकि फिर से सेवा को रोकने के बाद भी सब कुछ ठीक है और procmon का उत्पादन अभी भी कम है।
मैंने दो मशीनों पर यह कोशिश की, सभी 3 पार्टी सामान खुशी से चल रहे थे और अभी भी ठीक है।
मुझे यकीन नहीं है कि यह एक असली बग है (कोई कह सकता है कि 'आप सेवाओं को अक्षम करने के साथ क्या उम्मीद करते हैं'), लेकिन यह बिल्कुल सामान्य नहीं है कि समस्या केवल एक सेवा शुरू करने और फिर इसे फिर से रोककर चली जाती है।
बाउंटी किसी को भी जाता है जो इस बारे में गहन जानकारी प्रदान कर सकता है, और @ प्रोशर को मुझे इशारा करने के लिए @ आशर ने जो अंततः मुझे सही दिशा में ले गया।