का ट्रैक खोना प्रतीत होता है हमारे पास एक .NET एप्लिकेशन है जिसे हम अपने उपयोगकर्ताओं को एक एमएसआई इंस्टॉलर पैकेज के माध्यम से वितरित करते हैं। हमारे पास सी ++ एप्लिकेशन हैं जो यह देखने के लिए हर सुबह चलते हैं कि एप्लिकेशन की उपयोगकर्ता की प्रति तिथि पुरानी है, और यदि ऐसा है, तो हम नए एमएसआई को नीचे खींचें और इंस्टॉल करें। यदि एप्लिकेशन चल रहा है, तो हमें इसे नीचे ले जाने की आवश्यकता है ताकि हम अपडेट कर सकें।विंडोज़ .NET अनुप्रयोग
हमारी समस्या यह है कि प्रत्येक बार एक बार ऐसा लगता है कि विंडोज़ हमारे आवेदन को "खो देता है"। यह रिपोर्ट नहीं करेगा कि प्रक्रिया चल रही है - हालांकि यह है। यह हमें आवेदन को कम किए बिना उपयोग में निष्पादन योग्य फ़ाइल को ओवरराइट करने या यहां तक कि हटाने की अनुमति देगा।
शायद यह ऐसा कुछ है जो आम है - लेकिन हम यह नहीं समझ सकते कि क्या हो रहा है! क्या किसी को इस स्थिति में कोई अंतर्दृष्टि है?
ऐसा लगता है कि हमारे आवेदन की अस्थायी प्रतिलिपि बनाई जा रही है, और कार्यक्रम उस से भाग रहा है। लेकिन अगर ऐसा है, तो ऐसा क्यों नहीं होता है?
संपादित करें: हमारे कार्यक्रम में, हम प्लेटफार्म एसडीके, PSAPI.dll से "EnumProcesses" फ़ंक्शन का उपयोग कर रहे हैं ताकि सभी चल रही प्रक्रियाओं का आकलन किया जा सके।
यह पता लगाने के लिए आप क्या उपयोग करते हैं कि एप्लिकेशन चल रहा है या नहीं? –
कहता है कि यह नहीं चल रहा है * और * निष्पादन योग्य को ओवरराइट करने की अनुमति देता है? इसके लिए एक सरल स्पष्टीकरण है: यह नहीं चल रहा है। –
पता नहीं कि आपका ऐप क्या करता है, लेकिन यह सुनिश्चित करता है कि क्लिकऑन एक क्लीनर समाधान होगा। – Walter