2010-02-25 13 views
5

का ट्रैक खोना प्रतीत होता है हमारे पास एक .NET एप्लिकेशन है जिसे हम अपने उपयोगकर्ताओं को एक एमएसआई इंस्टॉलर पैकेज के माध्यम से वितरित करते हैं। हमारे पास सी ++ एप्लिकेशन हैं जो यह देखने के लिए हर सुबह चलते हैं कि एप्लिकेशन की उपयोगकर्ता की प्रति तिथि पुरानी है, और यदि ऐसा है, तो हम नए एमएसआई को नीचे खींचें और इंस्टॉल करें। यदि एप्लिकेशन चल रहा है, तो हमें इसे नीचे ले जाने की आवश्यकता है ताकि हम अपडेट कर सकें।विंडोज़ .NET अनुप्रयोग

हमारी समस्या यह है कि प्रत्येक बार एक बार ऐसा लगता है कि विंडोज़ हमारे आवेदन को "खो देता है"। यह रिपोर्ट नहीं करेगा कि प्रक्रिया चल रही है - हालांकि यह है। यह हमें आवेदन को कम किए बिना उपयोग में निष्पादन योग्य फ़ाइल को ओवरराइट करने या यहां तक ​​कि हटाने की अनुमति देगा।

शायद यह ऐसा कुछ है जो आम है - लेकिन हम यह नहीं समझ सकते कि क्या हो रहा है! क्या किसी को इस स्थिति में कोई अंतर्दृष्टि है?

ऐसा लगता है कि हमारे आवेदन की अस्थायी प्रतिलिपि बनाई जा रही है, और कार्यक्रम उस से भाग रहा है। लेकिन अगर ऐसा है, तो ऐसा क्यों नहीं होता है?

संपादित करें: हमारे कार्यक्रम में, हम प्लेटफार्म एसडीके, PSAPI.dll से "EnumProcesses" फ़ंक्शन का उपयोग कर रहे हैं ताकि सभी चल रही प्रक्रियाओं का आकलन किया जा सके।

+0

यह पता लगाने के लिए आप क्या उपयोग करते हैं कि एप्लिकेशन चल रहा है या नहीं? –

+3

कहता है कि यह नहीं चल रहा है * और * निष्पादन योग्य को ओवरराइट करने की अनुमति देता है? इसके लिए एक सरल स्पष्टीकरण है: यह नहीं चल रहा है। –

+0

पता नहीं कि आपका ऐप क्या करता है, लेकिन यह सुनिश्चित करता है कि क्लिकऑन एक क्लीनर समाधान होगा। – Walter

उत्तर

2

क्या यह हो सकता है कि स्क्रिप्ट या एप्लिकेशन 64-बिट प्रोग्राम के रूप में चलता है, और दूसरा 32-बिट प्रोग्राम के रूप में चलता है? यदि ऐसा है, तो 64-बिट मशीनों पर अद्यतन चेक किसी मौजूदा एप्लिकेशन के लिए गलत स्थान पर देख रहा है और इस प्रकार इसे अनुपलब्ध के रूप में रिपोर्ट कर रहा है?

+0

इसमें देखकर, यह आशाजनक लगता है .. एप्लिकेशन 32-बिट है, अभी तक अपडेट स्क्रिप्ट के बारे में निश्चित नहीं है। लेकिन, क्या यह किसी भी तरह निष्पादन योग्य को ओवरराइड करने में सक्षम होने के लिए जिम्मेदार होगा? – Matt

+0

यह मामला नहीं है, लेकिन सुझाव के लिए धन्यवाद। – Matt

0

यह देखने के लिए कि आप प्रक्रिया चल रही है या नहीं, यह जांचने के लिए आप किस तंत्र का उपयोग कर रहे हैं?

प्रक्रिया एक्सप्लोरर जैसे कुछ का उपयोग करने का प्रयास करें ताकि यह देखने के लिए कि निष्पादन योग्य छवि किस पथ से लोड की गई है - इसे मॉड्यूल अनुभाग में सूचीबद्ध किया जाना चाहिए।

+0

प्रक्रिया गणना तंत्र के लिए मेरे मूल प्रश्न में संपादन देखें। मैंने प्रक्रिया एक्सप्लोरर का उपयोग करने के बारे में नहीं सोचा था, लेकिन यह एक अच्छा विचार है। दुर्भाग्य से हम इस मांग को फिर से तैयार नहीं कर सकते हैं, लेकिन जब यह फिर से होता है तो मैं इसे ध्यान में रखूंगा। – Matt

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