2013-01-15 42 views
5

मैं अपने एप्लिकेशन के सेटअप निर्माण के लिए InstallJammer का उपयोग कर रहा हूं। मैं अनइंस्टॉल प्रक्रिया के साथ आगे बढ़ने से पहले यह जांचना चाहता हूं कि एप्लिकेशन चल रहा है या नहीं।जांचें कि एप्लिकेशन चल रहा है या नहीं - InstallJammer

set program <%Company%><%AppName%>.exe 
set pids [twapi::get_process_ids -name $program] 
foreach pid $pids { 
    catch {twapi::end_process $pid -force} 
} 

ऊपर दिया गया टीसीएल स्क्रिप्ट मैंने कोशिश की है। लेकिन लिपि किसी भी मूल्य वापस नहीं करता है। इसे कैसे हल करें।

+0

यह स्क्रिप्ट किसी भी चल रहे एप्लिकेशन को मारने का प्रयास करती है जो मिलान करने वाला नाम होता है; कड़ाई से बोलते हुए, यह * कुछ भी * जांच नहीं करता है, इसलिए वापस आने के लिए कुछ भी नहीं है। मैं कहूंगा कि यह "end_process" नामक किसी चीज़ के आविष्कार से स्पष्ट होना चाहिए ... – kostix

+0

दूसरी तरफ, यह स्पष्ट नहीं है कि "मूल्य लौटने" से आपका क्या मतलब है - आपके कॉलर कोड को उस तक पहुंच कैसे प्राप्त होनी चाहिए मूल्य? उस "InstallJammer" दस्तावेज़ के प्रासंगिक बिट का संदर्भ आवश्यकताओं को समझने में मदद कर सकता है। – kostix

+1

@kostix क्या यह जांचने का कोई तरीका है कि एप्लिकेशन चल रहा है या नहीं? इस सवाल को खोजने पर, मुझे उपर्युक्त स्क्रिप्ट समाधान के रूप में मिला। http://installjammer.com/forums/viewtopic.php?f=5&t=2261 – Gapchoos

उत्तर

2

मुझे लगता है कि आप execute script condition प्रयोग कर रहे हैं मान, जबकि यह सिर्फ script condition

उपयोग करने के लिए आप स्क्रिप्ट हालत का उपयोग करते हैं आसान हो सकता है, बस expr kostix द्वारा दिए गए का उपयोग करें:

[llength [twapi::get_process_ids -name <%Company%><%AppName%>.exe]] > 0 

हैं आपको वास्तव में निष्पादन स्क्रिप्ट स्थिति का उपयोग करना होगा, फिर बस expr { और } में प्रत्येक को लपेटें और आपको स्क्रिप्ट स्थिति के समान परिणाम मिलेंगे (या: एक स्क्रिप्ट स्थिति शुरुआत में expr { के साथ एक निष्पादित स्क्रिप्ट स्थिति है और } पर समाप्त)।

expr {[llength [twapi::get_process_ids -name <%Company%><%AppName%>.exe]] > 0} 

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

  • कोई संबंधित समस्या नहीं^_^