मुझे यह जांचने की आवश्यकता है कि प्रोग्राम नाम से प्रोग्राम कहां स्थापित किया गया है (नाम जो प्रोग्राम जोड़ें या निकालें) में दिखाई देता है। इसका सबसे अच्छा तरीका क्या है कि यह सभी भाषाओं के लिए ठीक काम करेगा।सी # के साथ कैसे जांचें जहां एक प्रोग्राम स्थापित किया गया है
उत्तर
बस सब उपकुँजियाँ से अधिक पुनरावृति
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
पर रजिस्ट्री में एक नज़र डालें और मूल्यों DisplayName और installLocation में एक बार देख ले। यहां आपको वह इंफोस मिलेगा जो आप चाहते हैं और बहुत कुछ ;-)
कम से कम इंस्टॉललोकेशन कथा का कार्य हो सकता है; उदाहरण के लिए, क्रिस्टल 11 के लिए रजिस्ट्री के अनुसार, InstallLocation "सी: \ प्रोग्राम फ़ाइलें \ आपकी कंपनी का नाम \ आपका उत्पाद नाम \" है। कई मामलों में, यह सेट नहीं है, या तो। –
आप इसे WMI क्लासेस का उपयोग करके प्राप्त कर सकते हैं। लेकिन शर्त
- आवेदन और
चलना चाहिए इस
string queryString =
"SELECT Name, ProcessId, Caption, ExecutablePath" +
" FROM Win32_Process";
SelectQuery query = new SelectQuery(queryString);
ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection processes = searcher.Get();
foreach(ManagementObject mObj in processes)
{
var name = mObj ["Name"].ToString();
var ProcessId = Convert.ToInt32(mObj ["ProcessId"]);
var Caption = mObj ["Caption"].ToString();
var Path = mObj ["ExecutablePath"].ToString();
}
MsiGetProductInfo ने सी # में मेरे लिए अच्छा काम किया। फ़ंक्शन का उपयोग करने के लिए पिनवोक (http://www.pinvoke.net/default.aspx/msi.msigetproductinfo) का उपयोग करें। –
यदि आप PInvoke का उपयोग करने से बचना चाहते हैं तो मुझे लगता है कि यह जानकारी वाईएक्स के एक हिस्से पर डिप्लॉयमेंट टूल्स फाउंडेशन (डीटीएफ) के माध्यम से प्राप्त की जा सकती है। http://robmensching.com/blog/posts/2008/5/16/deployment-tools-foundation-joins-the-wix-toolset – RenniePet
ओलिवर के उत्तर में जोड़ने के लिए मैंने इस चेक को एक स्थिर विधि के अंदर लपेट लिया है।
public static bool IsProgramInstalled(string programDisplayName) {
Console.WriteLine(string.Format("Checking install status of: {0}", programDisplayName));
foreach (var item in Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall").GetSubKeyNames()) {
object programName = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + item).GetValue("DisplayName");
Console.WriteLine(programName);
if (string.Equals(programName, programDisplayName)) {
Console.WriteLine("Install status: INSTALLED");
return true;
}
}
Console.WriteLine("Install status: NOT INSTALLED");
return false;
}
- 1. जांचें कि कोई प्रोग्राम इंस्टॉल किया गया है
- 2. जांचें कि आउटपुट रीडायरेक्ट किया गया है
- 3. जहां microsoft.office.tools.excel.dll स्थापित है?
- 4. getActivity() जहां इसे परिभाषित किया गया है?
- 5. जांचें एडोब रीडर स्थापित है (सी #)?
- 6. मैं कैसे बदल सकता हूं जहां पावरहेल मॉड्यूल स्थापित किया गया है?
- 7. जांचें कि क्या एक इंसान द्वारा ट्रिगर किया गया है
- 8. जांचें कि क्या सी प्रीप्रोसेसर के साथ फ़ंक्शन घोषित किया गया है?
- 9. कैसे जांचें कि django टेम्पलेट चर परिभाषित किया गया है?
- 10. जांचें कि नेट फ्रेमवर्क स्थापित है [सी #/डब्ल्यूपीएफ]
- 11. यह जांचने के लिए कि प्रोग्राम डीबग प्रतीकों के साथ संकलित किया गया था या नहीं?
- 12. यदि कोई फॉर्म सबमिट किया गया है तो jQuery के साथ कैसे जांचें?
- 13. 'autorelease' के साथ एक ऑब्जेक्ट कब जारी किया गया है?
- 14. आईफोन ऐप: इमोजी प्रोग्राम कैसे किया गया था?
- 15. कौन जानता है कि Picasa के साथ प्रोग्राम किया गया है?
- 16. जहां एंड्रॉइड ओएस में बिल्कुल टेक्स्ट प्रस्तुत किया गया है?
- 17. Mysql यूडीएफ स्थापित किया गया है (लेकिन मौजूद नहीं है?)
- 18. जांचें कि शटडाउन शुरू किया गया है या नहीं
- 19. जांचें कि क्या स्काइप स्थापित है
- 20. जांचें कि 'यह' चेकबॉक्स चेक किया गया है
- 21. जांचें कि क्या जेएसपी खंड सेट किया गया है
- 22. जांचें कि एंड्रॉइड फाइल सिस्टम एन्क्रिप्ट किया गया है
- 23. फ़ायरफ़ॉक्स एक्सटेंशन: जांचें कि विंडो को कम किया गया है
- 24. जहां "प्रमाणीकरण_यूसर" का कार्यान्वयन तैयार किया गया है! तरीका?
- 25. कपड़े एपीआई का कौन सा संस्करण स्थापित किया गया है
- 26. जांचें कि क्या स्टोर (या रिकॉर्ड) संपादित किया गया है?
- 27. मेरा प्रोग्राम "प्रकाशित" किया गया है, मैं स्थापना पथ कैसे बदल सकता हूं?
- 28. जांचें कि सी सी एनम में कोई मान परिभाषित किया गया है या नहीं?
- 29. जांचें कि क्या UIWebView लोड किया गया है
- 30. जांचें कि क्या एचटीएमएल 5 शिम लोड किया गया है
??? क्या आप अपना प्रश्न स्पष्ट कर सकते हैं? क्या आप पूछ रहे हैं कि कोई प्रोग्राम नेट आधारित है, या कुछ और? – Graviton
रजिस्ट्री की जांच करें। – RaYell