Dezinstalarea unui program din registry sau PowerShell
Fiecare program instalat își înregistrează în registry o comandă de dezinstalare. Când Setări → Aplicații nu reușește să elimine un program sau când acesta trebuie eliminat silențios, comanda respectivă este soluția.
Unde păstrează Windows comenzile de dezinstalare
Programele instalate pentru toți utilizatorii se află sub HKLM, programele pe 32 de biți dintr-un Windows pe 64 de biți sub WOW6432Node, iar cele instalate doar pentru dumneavoastră sub HKCU. Fiecare program are o subcheie cu DisplayName, DisplayVersion, UninstallString și adesea QuietUninstallString.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallListați programele instalate cu PowerShell
Comenzile de mai jos citesc toate cele trei locații și afișează numele, versiunea și comenzile de dezinstalare.
$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 DisplayNameRulați comanda de dezinstalare
Dacă există, QuietUninstallString elimină programul fără întrebări. Altfel rulați UninstallString și adăugați parametrul silențios al tipului de instalator (/S pentru NSIS, /VERYSILENT pentru Inno Setup). La pachetele MSI, numele subcheii este ProductCode-ul, iar msiexec /x face eliminarea.
msiexec /x {PRODUCT-CODE-GUID} /qn /norestart"C:\Program Files\App\uninstall.exe" /SSau lăsați winget să o facă
winget caută programele în aceleași chei din registry, inclusiv pe cele pe care nu le-a instalat el, și le rulează programul de dezinstalare.
winget listwinget uninstall --name "Numele programului"Când lipsește programul de dezinstalare
Dacă fișierul de dezinstalare a fost șters, reinstalarea aceleiași versiuni îl repară de obicei, după care programul poate fi eliminat normal. Ștergeți manual o intrare din registry doar când fișierele programului nu mai există și exportați cheia înainte de ștergere.
Întrebări frecvente
De ce un program nu apare în Setări → Aplicații?
Setările afișează doar intrările care au DisplayName și nu sunt marcate drept componente de sistem. Programele portabile nu înregistrează nimic și se elimină ștergându-le folderul.
Ce este ProductCode-ul unui MSI?
Un GUID care identifică un anumit pachet MSI. Este numele subcheii programului sub …\Uninstall și apare pe pagina de instalare silențioasă a fiecărui program MSI de pe ExeAtlas.