রেজিস্ট্রি বা PowerShell দিয়ে প্রোগ্রাম আনইনস্টল
প্রতিটি ইনস্টল করা প্রোগ্রাম রেজিস্ট্রিতে একটি আনইনস্টল কমান্ড নিবন্ধন করে। সেটিংস → অ্যাপস থেকে কোনো প্রোগ্রাম সরানো না গেলে, বা নিঃশব্দে সরাতে হলে, এই কমান্ডই উপায়।
Windows আনইনস্টল কমান্ড কোথায় রাখে
সব ইউজারের জন্য ইনস্টল করা প্রোগ্রাম থাকে HKLM-এ, ৬৪-বিট Windows-এ ৩২-বিট প্রোগ্রাম WOW6432Node-এ, আর শুধু আপনার জন্য ইনস্টল করা প্রোগ্রাম HKCU-তে। প্রতিটি প্রোগ্রামের একটি সাবকি থাকে, যেখানে DisplayName, DisplayVersion, UninstallString এবং প্রায়ই QuietUninstallString থাকে।
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallPowerShell দিয়ে ইনস্টল করা প্রোগ্রামের তালিকা
এটি তিনটি জায়গাই পড়ে এবং নাম, সংস্করণ ও আনইনস্টল কমান্ড দেখায়।
$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 DisplayNameআনইনস্টল কমান্ড চালান
QuietUninstallString থাকলে সেটি কোনো প্রশ্ন ছাড়াই প্রোগ্রাম সরিয়ে দেয়। না থাকলে UninstallString চালান এবং ইনস্টলারের ধরন অনুযায়ী সাইলেন্ট সুইচ যোগ করুন (NSIS-এর জন্য /S, Inno Setup-এর জন্য /VERYSILENT)। MSI প্যাকেজের ক্ষেত্রে সাবকির নামই ProductCode, আর msiexec /x সেটি সরিয়ে দেয়।
msiexec /x {PRODUCT-CODE-GUID} /qn /norestart"C:\Program Files\App\uninstall.exe" /Sঅথবা কাজটি winget-কে দিন
winget এই একই রেজিস্ট্রি কি-তে প্রোগ্রাম খোঁজে, যেগুলো সে নিজে ইনস্টল করেনি সেগুলোও, এবং তাদের আনইনস্টলার চালায়।
winget listwinget uninstall --name "App Name"আনইনস্টলার না থাকলে
আনইনস্টলার ফাইল মুছে গিয়ে থাকলে একই সংস্করণ আবার ইনস্টল করলে সাধারণত সেটি ঠিক হয়ে যায়, তারপর প্রোগ্রামটি স্বাভাবিকভাবে সরানো যায়। রেজিস্ট্রি এন্ট্রি হাতে মুছুন কেবল তখনই, যখন প্রোগ্রামের ফাইলগুলো আগেই চলে গেছে, এবং মোছার আগে কি-টি এক্সপোর্ট করে রাখুন।
সচরাচর জিজ্ঞাসিত প্রশ্ন
কোনো প্রোগ্রাম সেটিংস → অ্যাপস-এ দেখা যায় না কেন?
সেটিংস কেবল সেই এন্ট্রিগুলো দেখায় যেগুলোর DisplayName আছে এবং যেগুলো সিস্টেম কম্পোনেন্ট হিসেবে চিহ্নিত নয়। পোর্টেবল প্রোগ্রাম কিছুই নিবন্ধন করে না; তাদের ফোল্ডার মুছে দিলেই সরে যায়।
MSI-এর ProductCode কী?
একটি GUID, যা একটি নির্দিষ্ট MSI প্যাকেজকে চিহ্নিত করে। এটি …\Uninstall-এর নিচে প্রোগ্রামের সাবকির নাম, এবং ExeAtlas-এ প্রতিটি MSI অ্যাপের সাইলেন্ট ইনস্টল পাতায় দেখানো হয়।