मैं Windows 7/8 नकल पर काम कर रहा हूँ जोड़ने VBScript के साथ कार्यक्रमों एप्लेट को हटा दें। मुझे सभी सही प्रविष्टियों को शामिल करने के लिए स्क्रिप्ट प्राप्त हुई है, लेकिन मैं इसे विंडोज़ डिस्प्ले की सभी सही अतिरिक्त जानकारी शामिल करने में सक्षम नहीं हूं।प्रोग्राम्स जोड़ें/निकालें "इंस्टॉल किए गए" कॉलम के लिए डेटा खींचते हैं?
एक उदाहरण के रूप: विंडोज को प्रदर्शित करता है एक तारीख के साथ कॉलम "पर स्थापित"। कुछ मामलों में यह की तरह प्रासंगिक रजिस्ट्री कुंजियों से इन हो जाता है में:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKUS\USER - SID\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
बहुत कम चाबियाँ वास्तव में InstallDate मूल्य है और Windows हमेशा इस कॉलम भरा मिलता है। मैं WMI से लापता दिनांकों के बहुमत हड़पने के लिए प्रबंधित किया है:
("SELECT * FROM Win32_Product Where Description = " & "'" & strName & "'" & "")
for each objSoftware in colSoftware
Date = objSoftware.InstallDate
यह केवल एमएसआई से दिनांक अनुप्रयोगों स्थापित कर देता है।
मैं शायद सोच रहा था विंडोज "अनुमान लगाया" प्रोग्राम फ़ाइलें/ProgramData फ़ाइल दिनांक के आधार पर दिनांक, लेकिन मैं उन्हें मैन्युअल रूप से बदल रहा है की कोशिश की है और यह ऐड में प्रतिबिंबित नहीं होता/निकालें। मैं यह पता लगाने की कोशिश कर रहा हूं कि विंडोज इस तारीख को कैसे खींचता है। मैंने देखा है कि CCleaner त्रुटि के बिना जोड़ें/हटा सकता है, इसलिए यह जानकारी कहीं भी उपलब्ध है। मैंने खुद को ढूंढने के लिए खुद को थका दिया है।
प्रक्रिया शायद धीमी है, क्योंकि 'Win32_Product' से चयन न केवल वस्तुओं को सूचीबद्ध करता है, बल्कि (पुनः) उन्हें मान्य करता है। रजिस्ट्री में 'अनइंस्टॉल करें' कुंजी से जानकारी को पढ़ने का एक क्लीनर तरीका है। –
मेरे समस्या यह है कि सबसे दिनांकों के रूप में मैं उल्लेख किया है, स्थापना रद्द करें कुंजी में नहीं हैं। मेरे सिस्टम पर प्रविष्टियों में से 10% से कम एक मान के रूप में InstallDate है। विंडोज़ इस तारीख को कहीं और से प्राप्त कर रहा है और स्क्रिप्ट वास्तव में प्रभावी नहीं होगी जब तक कि मुझे पता न हो कि वह स्थान कहां है। – KevinD