Odstranitev programa prek registra ali PowerShella
Vsak nameščen program v register zapiše ukaz za odstranitev. Ko ga Nastavitve → Aplikacije ne morejo odstraniti ali ko ga je treba odstraniti tiho, je ta ukaz prava pot.
Kje Windows hrani ukaze za odstranitev
Programi, nameščeni za vse uporabnike, so pod HKLM, 32-bitni programi v 64-bitnem sistemu Windows pod WOW6432Node, programi, nameščeni samo za vas, pa pod HKCU. Vsak program ima podključ z vrednostmi DisplayName, DisplayVersion, UninstallString in pogosto QuietUninstallString.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallSeznam nameščenih programov v PowerShellu
Ti ukazi preberejo vsa tri mesta in prikažejo ime, različico in ukaze za odstranitev.
$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 DisplayNameZagon ukaza za odstranitev
QuietUninstallString, če obstaja, odstrani program brez vprašanj. Sicer zaženite UninstallString in dodajte tiho stikalo za vrsto namestitvenega programa (/S za NSIS, /VERYSILENT za Inno Setup). Pri paketih MSI je ime podključa ProductCode, odstrani pa jih msiexec /x.
msiexec /x {PRODUCT-CODE-GUID} /qn /norestart"C:\Program Files\App\uninstall.exe" /SAli pa z wingetom
winget išče programe v istih ključih registra, tudi tiste, ki jih ni namestil sam, in zažene njihov program za odstranitev.
winget listwinget uninstall --name "Ime programa"Ko programa za odstranitev ni
Če je bila datoteka za odstranitev izbrisana, običajno pomaga vnovična namestitev iste različice; nato je program mogoče odstraniti po običajni poti. Vnos v registru ročno izbrišite le, ko datotek programa ni več, ključ pa pred brisanjem izvozite.
Pogosta vprašanja
Zakaj programa ni v Nastavitve → Aplikacije?
Nastavitve prikažejo samo vnose z vrednostjo DisplayName, ki niso označeni kot sistemske komponente. Prenosni programi ničesar ne registrirajo; odstranite jih tako, da izbrišete njihovo mapo.
Kaj je ProductCode paketa MSI?
Identifikator GUID, ki označuje en paket MSI. Je ime podključa programa pod …\Uninstall, ExeAtlas pa ga navaja na strani o tihi namestitvi vsakega programa MSI.