Deïnstalleer ’n program via die register of PowerShell
Elke geïnstalleerde program registreer ’n deïnstalleeropdrag in die register. As Instellings → Toepassings ’n program nie kan verwyder nie, of as dit stil verwyder moet word, is daardie opdrag die weg.
Waar Windows die deïnstalleeropdragte hou
Programme wat vir alle gebruikers geïnstalleer is, staan onder HKLM, 32-bis-programme op 64-bis-Windows onder WOW6432Node, en programme wat net vir die huidige gebruiker geïnstalleer is onder HKCU. Elke program het ’n subsleutel met DisplayName, DisplayVersion, UninstallString en dikwels QuietUninstallString.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallLys geïnstalleerde programme met PowerShell
Dit lees al drie plekke en wys die naam, weergawe en deïnstalleeropdragte.
$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 DisplayNameVoer die deïnstalleeropdrag uit
QuietUninstallString, waar dit bestaan, verwyder die program sonder vrae. Andersins, voer UninstallString uit en voeg die stil skakelaar van die installeerdertipe by (/S vir NSIS, /VERYSILENT vir Inno Setup). Vir MSI-pakkette is die naam van die subsleutel die ProductCode, en msiexec /x verwyder dit.
msiexec /x {PRODUCT-CODE-GUID} /qn /norestart"C:\Program Files\App\uninstall.exe" /SOf laat winget dit doen
winget vind programme in dieselfde registersleutels, ook dié wat dit nie self geïnstalleer het nie, en voer hul deïnstalleerder uit.
winget listwinget uninstall --name "Programnaam"As die deïnstalleerder ontbreek
As die deïnstalleerlêer uitgevee is, herstel dit gewoonlik as dieselfde weergawe eers weer geïnstalleer word, waarna die program normaal verwyder kan word. Vee ’n registerinskrywing net met die hand uit as die program se lêers reeds weg is, en voer die sleutel uit voordat dit uitgevee word.
Algemene vrae
Waarom verskyn ’n program nie in Instellings → Toepassings nie?
Instellings lys net inskrywings met ’n DisplayName wat nie as stelselkomponente gemerk is nie. Draagbare programme registreer niks nie en word verwyder deur hul lêergids uit te vee.
Wat is die ProductCode van ’n MSI?
’n GUID wat een MSI-pakket identifiseer. Dit is die naam van die program se subsleutel onder …\Uninstall en word op die bladsy oor stil installasie van elke MSI-program op ExeAtlas gewys.