Programma verwijderen via register of PowerShell
Elk geïnstalleerd programma legt een verwijderopdracht vast in het register. Lukt verwijderen via Instellingen → Apps niet, of moet het stil gebeuren, dan is die opdracht de aangewezen weg.
Waar Windows de verwijderopdrachten bewaart
Programma’s die voor alle gebruikers zijn geïnstalleerd, staan onder HKLM, 32-bits programma’s op 64-bits Windows onder WOW6432Node, en programma’s die alleen voor de eigen gebruiker zijn geïnstalleerd onder HKCU. Elk programma heeft een subsleutel met DisplayName, DisplayVersion, UninstallString en vaak QuietUninstallString.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallGeïnstalleerde programma’s tonen met PowerShell
Deze opdrachten lezen alle drie de locaties en tonen naam, versie en verwijderopdrachten.
$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 DisplayNameDe verwijderopdracht uitvoeren
Is QuietUninstallString aanwezig, dan verwijdert die opdracht het programma zonder vragen. Voer anders UninstallString uit en voeg de stille parameter van het type installatieprogramma toe (/S voor NSIS, /VERYSILENT voor Inno Setup). Bij MSI-pakketten is de naam van de subsleutel de ProductCode, en msiexec /x verwijdert het pakket.
msiexec /x {PRODUCT-CODE-GUID} /qn /norestart"C:\Program Files\App\uninstall.exe" /SOf winget het laten doen
winget vindt programma’s in dezelfde registersleutels, ook programma’s die het niet zelf heeft geïnstalleerd, en start hun verwijderprogramma.
winget listwinget uninstall --name "Programmanaam"Als het verwijderprogramma ontbreekt
Is het verwijderbestand gewist, dan herstelt een nieuwe installatie van dezelfde versie het meestal; daarna kan het programma gewoon worden verwijderd. Verwijder een registervermelding alleen met de hand als de programmabestanden al weg zijn, en exporteer de sleutel eerst.
Veelgestelde vragen
Waarom staat een programma niet onder Instellingen → Apps?
Instellingen toont alleen vermeldingen met een DisplayName die niet als systeemonderdeel zijn gemarkeerd. Portable programma’s registreren niets en worden verwijderd door hun map te wissen.
Wat is de ProductCode van een MSI?
Een GUID die één MSI-pakket aanduidt. Het is de naam van de subsleutel van het programma onder …\Uninstall en staat bij elk MSI-programma op ExeAtlas op de pagina over stille installatie.