উইন্ডোজ ১০ এবং ১১-এ একটি নতুন নেটিভ প্যাকেজ ম্যানেজার, WinGet (Windows Package Manager) যোগ হয়েছে। এর মাধ্যমে আপনি কমান্ড প্রম্পট থেকে অ্যাপ্লিকেশন ইনস্টল করতে পারেন (লিনাক্স প্যাকেজ ম্যানেজার যেমন yum, dnf, apt-এর মতো)।
WinGet.exe একটি কনসোল টুল যা উইন্ডোজ-চালিত কম্পিউটারে অ্যাপ ইনস্টলেশন সহজ করে তোলে (চকলেটি প্যাকেজ ম্যানেজারের মতো)। কোনো প্রোগ্রাম ইনস্টল করতে আপনাকে অফিসিয়াল সাইটে খুঁজে, ইনস্টলেশন ফাইল ডাউনলোড করে, ম্যানুয়ালি ইনস্টল করার প্রয়োজন নেই। উইন্ডোজ প্যাকেজ ম্যানেজার ব্যবহার করে আপনি রিপোজিটরি থেকে যেকোনো প্রোগ্রাম শুধু একটি কমান্ড দিয়ে ইনস্টল বা আপডেট করতে পারেন।
উইন্ডোজ ১০-এ WinGet প্যাকেজ ম্যানেজার কিভাবে ইনস্টল করবেন?
বিল্ড ১৭০৯ বা তার নভের উইন্ডোজ ১০-এ WinGet ইনস্টল করা যায়। বর্তমান উইন্ডোজ ১১ ২১H২ এবং উইন্ডোজ ১০ ২১H১ বিল্ডে WinGet ইতিমধ্যে এম্বেডেড আছে।
আপনার কম্পিউটারে WinGet ইনস্টল আছে কিনা চেক করতে, PowerShell কনসোল খুলুন এবং কমান্ডটি চালান:
Get-AppPackage *Microsoft.DesktopAppInstaller*|select Name,PackageFullName
আমাদের কেসে, WinGet ইনস্টল আছে (UWP অ্যাপ্লিকেশনটির নাম Microsoft.DesktopAppInstaller)।

WinGet শুধু উইন্ডোজের ডেস্কটপ ভার্সন (১০ এবং ১১) এ ব্যবহার করা যায়। উইন্ডোজ সার্ভার ২০২২-এ WinGet অফিসিয়ালি সমর্থিত নয়, তবে এক্সপেরিমেন্টাল মোডে ইনস্টল করা যায়।
আপনি মাইক্রোসফট স্টোর থেকে WinGet ইনস্টল করতে পারেন (সেখানে এটি App Installer নামে পরিচিত) https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

WinGet ইনস্টল করতে আপনার কম্পিউটারে MS Store চালু থাকতে হবে (যদি মাইক্রোসফট স্টোর রিমুভ বা ড্যামেজড থাকে, তবে আপনি এটি পুনরায় ইনস্টল বা রিপেয়ার করতে পারেন)।
আপনি PowerShell ব্যবহার করে ম্যানুয়ালি ও WinGet ইনস্টল করতে পারেন (যদি উইন্ডোজের বিল্ট-ইন UWP অ্যাপস রিমুভ করা থাকে)। এর জন্য PowerShell ব্যবহার করে GitHub থেকে WinGet msixbundle ফাইল ডাউনলোড করে (https://github.com/microsoft/winget-cli/releases) ইনস্টল করতে হবে:
Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v1.1.12653/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -OutFile "C:\PS\WinGet.msixbundle"
Add-AppxPackage "C:\PS\WinGet.msixbundle"

আপনি WinGet প্যাকেজটি ম্যানুয়ালি ডাউনলোড ও ইনস্টল করতেও পারেন।

ইনস্টল করা WinGet ভার্সন চেক করতে এই কমান্ডটি ব্যবহার করুন:
winget --version

এখানে কিছু বেসিক WinGet কমান্ড দেওয়া হলো:
winget install <package>— প্যাকেজ ইনস্টল করুনwinget uninstall <package>— প্যাকেজ রিমুভ করুনwinget upgrade– সফ্টওয়্যার প্যাকেজ আপডেট করুনwinget list– উইন্ডোজে ইনস্টল করা অ্যাপের তালিকা দেখুনwinget show <package>— প্যাকেজের তথ্য প্রদর্শন করুনwinget source <options>— রিপোজিটরি ম্যানেজ করুনwinget search <search_string>— রিপোজিটরিতে প্যাকেজ খুঁজুনwinget export– ইনস্টল করা প্রোগ্রামের তালিকা ফাইলে এক্সপোর্ট করুনwinget import– ফাইলের তালিকা অনুযায়ী প্রোগ্রাম (প্যাকেজ) ইনস্টল করুনwinget hash <package>— প্যাকেজ ইনস্টলার হ্যাশ পানwinget validate <package>— ম্যানিফেস্ট ফাইল যাচাই করুন

WinGet সেটিংস settings.json ফাইলে সংরক্ষিত থাকে (C:\Users\%username%\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState)। নিচের কমান্ড দিয়ে WinGet সেটিংস পরিবর্তন করা যায়:
winget settings
WinGet ব্যবহার করে উইন্ডোজে সফ্টওয়্যার প্যাকেজ ডিপ্লয় করুন
WinGet প্যাকেজ ম্যানেজার মাধ্যমে প্রোগ্রাম ইনস্টল করার জন্য অনলাইন রিপোজিটরি ব্যবহার করা হয়। রিপোজিটরির তালিকা নিচের কমান্ড দিয়ে দেখানো যায়:
winget source list
ডিফল্টভাবে WinGet-এ দুটি অফিসিয়াল রিপোজিটরি থাকে:
- msstore (https://storeedgefd.dsx.mp.microsoft.com/v9.0) — মাইক্রোসফট স্টোর রিপোজিটরি
- winget (https://winget.azureedge.net/cache) — মাইক্রোসফট দ্বারা রক্ষণাবেক্ষণকৃত বেসিক WinGet সফ্টওয়্যার রিপোজিটরি
WinGet-এ থার্ড-পার্টি রিপোজিটরি সংযোগ করা যায়। অন্যান্য সোর্স যোগ করতে নিচের কমান্ড ব্যবহার করুন: winget source
WinGet এর মাধ্যমে অ্যাপ্লিকেশন ইনস্টল করার আগে, প্যাকেজের নাম জানতে হবে। প্যাকেজ খুঁজতে search কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ, রিপোজিটরিতে zip আর্কাইভ ম্যানেজার খুঁজতে এই কমান্ডটি চালান:
winget search zip
যদি আপনি শুধু মাইক্রোসফট স্টোর রিপোজিটরিতে প্রোগ্রাম খুঁজতে চান, তবে চালান:
winget search zip -s msstore
এই কমান্ডটি আপনার কোয়েরির সাথে মিলে যাওয়া প্যাকেজের তালিকা (নাম এবং ভার্সনসহ) রিটার্ন করবে। Source কলামে দ্যাখান। এতে প্যাকেজটি কোন রিপোজিটরিতে অবস্থিত তা দেখানো হয়।

নির্দিষ্ট প্যাকেজের তথ্য পাওয়া যাবে:
winget show 7zip.7zip

রিপোজিটরিতে একাধিক ভার্সনের প্যাকেজ থাকতে পারে। উপলব্ধ প্যাকেজ ভার্সনগুলির তালিকা দেখতে চালান:
winget show 7zip.7zip --versions
উদাহরণস্বরূপ, আপনি 7zip ইনস্টল করতে চান। এর নাম বা ID কপি করে নিচের ইনস্টলেশন কমান্ডটি চালান:
winget install 7zip.7zip

ডিফল্টভাবে প্যাকেজের লেটেস্ট উপলব্ধ ভার্সন ইনস্টল হয়। আপনি নির্দিষ্ট ভার্সনও ইনস্টল করতে পারেন:
winget install 7zip.7zip -v 21.05
দেখুন, প্যাকেজ ম্যানেজার একক কমান্ড দিয়ে স্বয়ংক্রিয়ভাবে অ্যাপ ডাউনলোড ও ইনস্টল করেছে। প্রোগ্রামটি উইন্ডোজ স্টার্ট মেনুর ইনস্টল্ড সফ্টওয়্যার তালিকায় দৃষ্টিগোচর হচ্ছে।

এখন আমার PowerShell স্ক্রিপ্টের জন্য Windows Terminal এবং VSCode ইনস্টল করি।
প্রথমে প্যাকেজের নাম খুঁজুন:
winget search terminal
winget search "visual studio"
তারপর এগুলো বári বári ইনস্টল করুন:
winget install Microsoft.WindowsTerminal –e ; winget install Microsoft.VisualStudioCode –e
যদি প্যাকেজ ইনস্টলেশন ব্যাকগ্রাউন্ডে চালাতে চান, তবে –silent অপশন ব্যবহার করুন:
winget install "VLC media player" --silent
কিছু সফ্টওয়্যার ইনস্টল করার সময় আপনি স্বয়ংক্রিয়ভাবে ব্যবহারের শর্তাবলী মেনে নিতে পারেন। উদাহরণস্বরূপ, Sysinternals টুলকিট ইনস্টল করার সময়:
winget install sysinternals --accept-package-agreements
ডিফল্টভাবে প্রোগ্রামগুলো সিস্টেম ড্রাইভের Program Files ফোল্ডারে ইনস্টল হয়। আপনি প্রোগ্রামের ইনস্টলেশন ফোল্ডার পরিবর্তন করতে পারেন:
winget install microsoft.visualstudiocode --location "D:\Programs"
লক্ষ্য করুন, অ্যাডমিনিস্ট্রেটর অনুমতি ছাড়া WinGet চালালে, কিছু প্রোগ্রাম ইনস্টল করার সময় UAC এলিভেশন প্রম্পট আসতে পারে। আপনি যদি এলিভেটেড cmd/PowerShell কনসোলে WinGet চালান, তবে সব প্রোগ্রাম UAC প্রম্পট ছাড়াই ইনস্টল হবে (সতর্ক থাকুন, শুধু বিশ্বস্ত অ্যাপ্লিকেশন ইনস্টল করুন)।
Winstall: WinGet প্যাকেজ ম্যানেজারের ওয়েব GUI
যে ব্যবহারকারীরা WinGet CLI ইন্টারফেস পছন্দ করেন না, তারা Winstall ওয়েব সার্ভিস ব্যবহার করতে পারেন (https://winstall.app/)। Winstall হলো WinGet রিপোজিটরির একটি গ্রাফিক্যাল ইন্টারফেস (২৯০০+ প্রোগ্রাম ইনস্টলেশনের জন্য উপলব্ধ)।
আপনি Winstall ব্যবহার করে প্রয়োজনীয় প্রোগ্রামের ইনস্টলেশন স্ক্রিপ্ট জেনারেট করতে পারেন। রিপোজিটরিতে প্রোগ্রাম খুঁজে + ক্লিক করে ইনস্টলেশন স্ক্রিপ্টে যোগ করুন।

তারপর Generate Script বাটনে ক্লিক করুন এবং সার্ভিসটি নির্বাচিত অ্যাপ প্যাকেজ ইনস্টল করার CLI কমান্ড তৈরি করবে।
Batch বা PowerShell ট্যাব থেকে কোড কপি করে cmd.exe বা PowerShell কনসোলে পেস্ট করুন।

এভাবে আপনি শুধু একটি কমান্ড দিয়ে প্রয়োজনীয় প্রোগ্রামগুলো ইনস্টল করতে পারেন।
WinGet: উইন্ডোজে প্যাকেজ আপডেট ও রিমুভ করুন
WinGet শুধু প্রোগ্রাম ইনস্টল করলেই না, এটি আপডেট বা রিমুভ করারও সুবিধা দেয়। আপনার কম্পিউটারে ইনস্টল করা প্রোগ্রামের তালিকা দেখতে চালান:
winget list
এই কমান্ডটি কম্পিউটারে ইনস্টল করা সম্পূর্ণ প্রোগ্রামের তালিকা দেখাবে (WinGet দিয়ে ইনস্টল না করা প্রোগ্রামও সহ)। যদি কোনো প্রোগ্রামের জন্য আপডেট উপলব্ধ থাকে, তবে নতুন ভার্সন Available কলামে দেখাবে।

WinGet দিয়ে ইনস্টল করা অ্যাপ্লিকেশন আপডেট করতে নিচের কমান্ড চালান:
winget upgrade --id 7zip.7zip
আপনি একসাথে সব ইনস্টল করা প্রোগ্রাম আপডেট করতে পারেন:
winget upgrade --all
প্রোগ্রাম আনইনস্টল করতে কমান্ডটি ব্যবহার করুন:
winget uninstall --name 7zip.7zip
WinGet দিয়ে ইনস্টল না করা অ্যাপ্লিকেশনও তাদের ID দিয়ে আনইনস্টল করা যায়:
winget uninstall --id "{0F693AA3-4387-4ACB-A6FD-3A396290587}"
WinGet ব্যবহার করে ইনস্টল করা সফ্টওয়্যারের তালিকা অন্য কম্পিউটারে এক্সপোর্ট ও ইম্পোর্ট করুন
WinGet দিয়ে আপনি একটি কম্পিউটারে ইনস্টল করা প্রোগ্রামের তালিকা JSON ফাইলে এক্সপোর্ট করে, তারপর সেই ফাইলটি ব্যবহার করে অন্য একটি কম্পিউটারে দ্রুত একই সেট অ্যাপ ইনস্টল (ইম্পোর্ট) করতে পারেন।
ইনস্টল করা অ্যাপের তালিকা JSON ফাইলে এক্সপোর্ট করতে চালান:
winget export -o c:\ps\installedapps.json --include-versions
যদি প্রোগ্রামের জন্য ম্যানিফেস্ট না থাকে, তবে কমান্ডটি এরর দেখাবে The installed package is not available in any source।
ফাইলটিতে Windows Package Manager এর মাধ্যমে ইনস্টল করা প্রোগ্রামের তালিকা থাকে।

অন্য একটি কম্পিউটারে JSON ফাইল থেকে প্রোগ্রাম সেট ইনস্টল করতে চালান:
winget import -o .\installed_apps.json
Windows Package Manager ইনস্টলেশনের সময় `--ignore-unavailable` এবং `--ignore-versions` অপশন যোগ করে ভার্সন এবং অনুপলব্ধ প্রোগ্রাম উপেক্ষা করতে পারে।