Uninstall program lewat registry atau PowerShell
Setiap program yang terinstal mendaftarkan perintah uninstall di registry. Jika Pengaturan → Aplikasi tidak bisa menghapus sebuah program, atau program perlu dihapus secara senyap, perintah inilah jalannya.
Lokasi perintah uninstall di Windows
Program yang diinstal untuk semua pengguna ada di HKLM, program 32-bit di Windows 64-bit ada di WOW6432Node, dan program yang diinstal hanya untuk Anda ada di HKCU. Setiap program memiliki subkey berisi DisplayName, DisplayVersion, UninstallString, dan sering kali QuietUninstallString.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallTampilkan program terinstal dengan PowerShell
Perintah ini membaca ketiga lokasi tersebut dan menampilkan nama, versi, serta perintah uninstall-nya.
$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 DisplayNameJalankan perintah uninstall
Jika ada, QuietUninstallString menghapus program tanpa pertanyaan. Jika tidak ada, jalankan UninstallString dan tambahkan parameter senyap sesuai jenis installer (/S untuk NSIS, /VERYSILENT untuk Inno Setup). Untuk paket MSI, nama subkey-nya adalah ProductCode, dan msiexec /x menghapusnya.
msiexec /x {PRODUCT-CODE-GUID} /qn /norestart"C:\Program Files\App\uninstall.exe" /SAtau serahkan pada winget
winget mencari program di kunci registry yang sama, termasuk program yang tidak diinstal lewat winget, lalu menjalankan uninstaller-nya.
winget listwinget uninstall --name "Nama Aplikasi"Jika uninstaller tidak ada
Jika file uninstaller sudah terhapus, menginstal ulang versi yang sama biasanya memperbaikinya, setelah itu program bisa dihapus seperti biasa. Hapus entri registry secara manual hanya jika file program memang sudah tidak ada, dan ekspor kuncinya terlebih dulu sebelum dihapus.
Pertanyaan yang sering diajukan
Mengapa sebuah program tidak muncul di Pengaturan → Aplikasi?
Pengaturan hanya menampilkan entri yang memiliki DisplayName dan tidak ditandai sebagai komponen sistem. Program portable tidak pernah mendaftarkan apa pun dan dihapus dengan menghapus foldernya.
Apa itu ProductCode pada MSI?
GUID yang mengidentifikasi satu paket MSI. GUID ini menjadi nama subkey program di bawah …\Uninstall dan ditampilkan di halaman instalasi senyap setiap aplikasi MSI di ExeAtlas.