रजिस्ट्री या PowerShell से प्रोग्राम अनइंस्टॉल करें
हर इंस्टॉल किया गया प्रोग्राम रजिस्ट्री में अपनी अनइंस्टॉल कमांड दर्ज करता है। जब सेटिंग्स → ऐप्स से प्रोग्राम नहीं हटता, या उसे चुपचाप हटाना हो, तब यही कमांड काम आती है।
Windows अनइंस्टॉल कमांड कहाँ रखता है
सभी यूज़र के लिए इंस्टॉल प्रोग्राम HKLM में होते हैं, 64-बिट Windows पर 32-बिट प्रोग्राम WOW6432Node में, और सिर्फ़ आपके लिए इंस्टॉल प्रोग्राम HKCU में। हर प्रोग्राम की एक सबकी होती है जिसमें DisplayName, DisplayVersion, UninstallString और अक्सर QuietUninstallString होती है।
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallPowerShell से इंस्टॉल प्रोग्रामों की सूची
यह तीनों जगहें पढ़ता है और नाम, संस्करण और अनइंस्टॉल कमांड दिखाता है।
$keys = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"Get-ItemProperty $keys | Where-Object DisplayName | Select-Object DisplayName, DisplayVersion, UninstallString, QuietUninstallString | Sort-Object DisplayNameअनइंस्टॉल कमांड चलाएँ
अगर QuietUninstallString मौजूद है, तो वह प्रोग्राम को बिना कुछ पूछे हटा देती है। वरना UninstallString चलाएँ और इंस्टॉलर के प्रकार का साइलेंट स्विच जोड़ें (NSIS के लिए /S, Inno Setup के लिए /VERYSILENT)। MSI पैकेज में सबकी का नाम ही ProductCode होता है, और msiexec /x उसे हटा देता है।
msiexec /x {PRODUCT-CODE-GUID} /qn /norestart"C:\Program Files\App\uninstall.exe" /Sया यह काम winget को सौंपें
winget इन्हीं रजिस्ट्री कीज़ में प्रोग्राम ढूँढता है, उनमें भी जो उसने इंस्टॉल नहीं किए, और उनका अनइंस्टॉलर चलाता है।
winget listwinget uninstall --name "App Name"जब अनइंस्टॉलर गायब हो
अगर अनइंस्टॉलर फ़ाइल डिलीट हो चुकी है, तो वही संस्करण दोबारा इंस्टॉल करने से अक्सर वह ठीक हो जाती है, फिर प्रोग्राम सामान्य तरीके से हट जाता है। रजिस्ट्री एंट्री हाथ से तभी डिलीट करें जब प्रोग्राम की फ़ाइलें पहले ही हट चुकी हों, और डिलीट करने से पहले उस की को एक्सपोर्ट कर लें।
अक्सर पूछे जाने वाले सवाल
कोई प्रोग्राम सेटिंग्स → ऐप्स में क्यों नहीं दिखता?
सेटिंग्स सिर्फ़ वे एंट्री दिखाती है जिनमें DisplayName हो और जो सिस्टम कंपोनेंट के रूप में चिह्नित न हों। पोर्टेबल प्रोग्राम कुछ भी दर्ज नहीं करते और उनका फ़ोल्डर डिलीट करने से हट जाते हैं।
MSI का ProductCode क्या होता है?
एक GUID जो किसी एक MSI पैकेज की पहचान है। यही …\Uninstall के नीचे प्रोग्राम की सबकी का नाम होता है, और ExeAtlas पर हर MSI ऐप के साइलेंट इंस्टॉल पेज पर दिखाया जाता है।