Package Manager ต้นแบบใหม่ชื่อ WinGet (Windows Package Manager) ปรากฏขึ้นบน Windows 10 และ 11 คุณสามารถใช้ติดตั้งแอปจาก command prompt ได้ (คล้ายกับ Linux package managers เช่น yum, dnf, apt ฯลฯ)
WinGet.exe เป็นเครื่องมือคอนโซลที่ทำให้การติดตั้งแอปบนคอมพิวเตอร์ Windows ง่ายขึ้น (คล้าย Chocolatey package manager) ในการติดตั้งโปรแกรม คุณไม่ต้องค้นหาเว็บไซต์ทางการ ดาวน์โหลดไฟล์ติดตั้ง และติดตั้งแอปด้วยตนเอง ด้วย Windows Package Manager คุณสามารถติดตั้งหรืออัปเดตโปรแกรมใดๆ จาก repository ด้วยคำสั่งเพียงคำเดียว
วิธีติดตั้ง WinGet Package Manager บน Windows 10
คุณสามารถติดตั้ง WinGet บน Windows 10 build 1709 หรือใหม่กว่าได้ Winget ถูกฝังอยู่ใน image ของ Windows 11 21H2 และ Windows 10 21H1 ปัจจุบันแล้ว
เพื่อตรวจสอบว่า winget ติดตั้งอยู่บนคอมพิวเตอร์ของคุณหรือไม่ ให้เปิดคอนโซล PowerShell และรันคำสั่ง:
Get-AppPackage *Microsoft.DesktopAppInstaller*|select Name,PackageFullName
ในกรณีของเรา winget ติดตั้งอยู่แล้ว (ชื่อแอป UWP คือ Microsoft.DesktopAppInstaller)
คุณสามารถใช้ winget ได้เฉพาะบน Windows desktop versions (10 และ 11) เท่านั้น Winget ไม่ได้รองรับ Windows Server 2022 อย่างเป็นทางการ แต่สามารถติดตั้งในโหมด experimental ได้
คุณสามารถติดตั้ง WinGet จาก Microsoft Store (ชื่อว่า App Installer ที่นั่น) https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab
ในการติดตั้ง Winget ต้องมี MS Store ทำงานอยู่บนคอมพิวเตอร์ (ถ้า Microsoft Store ถูกลบหรือเสียหาย คุณสามารถติดตั้งใหม่หรือซ่อมแซมได้)
นอกจากนี้ คุณยังสามารถติดตั้ง winget ด้วยตนเองโดยใช้ PowerShell (ถ้าคุณลบ built-in UWP apps ใน Windows ออก) โดยต้องใช้ PowerShell ดาวน์โหลดไฟล์ winget msixbundle จาก GitHub (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– แสดงรายการแอปที่ติดตั้งบน Windowswinget show <package>— แสดงข้อมูลแพ็กเกจwinget source <options>— จัดการ repositorieswinget search <search_string>— ค้นหาแพ็กเกจใน repositorieswinget export– ส่งออกรายการโปรแกรมที่ติดตั้งไปไฟล์winget import– ติดตั้งโปรแกรม (แพ็กเกจ) ตามรายการในไฟล์winget hash <package>— ได้ไฟล์ติดตั้งแพ็กเกจ hashwinget validate <package>— ตรวจสอบไฟล์ manifest
การตั้งค่า winget ถูกเก็บในไฟล์ settings.json (C:\Users\%username%\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState) คุณสามารถเปลี่ยนการตั้งค่า Winget ด้วยคำสั่ง:
winget settings
การปรับใช้แพ็กเกจซอฟต์แวร์ใน Windows ด้วย WinGet
Online repositories ถูกใช้เพื่อติดตั้งโปรแกรมผ่าน WinGet package manager รายการของพวกเขาสามารถแสดงได้ด้วยคำสั่ง:
winget source list
โดยค่าเริ่มต้น มี repository อย่างเป็นทางการ 2 แห่งใน WinGet:
- msstore (https://storeedgefd.dsx.mp.microsoft.com/v9.0) – Microsoft Store repository
- winget (https://winget.azureedge.net/cache) – basic winget software repository ที่ดูแลโดย Microsoft
คุณสามารถเชื่อมต่อ third-party repositories ใน WinGet ได้ คุณสามารถเพิ่มแหล่งที่มาอื่นๆ โดยใช้คำสั่ง: winget source
ก่อนติดตั้งแอปพลิเคชันผ่าน WinGet คุณต้องหาชื่อแพ็กเกจ ใช้คำสั่ง search เพื่อค้นหาแพ็กเกจ ตัวอย่างเช่น เพื่อค้นหา zip archive managers ใน repository ให้รันคำสั่ง:
winget search zip
ถ้าคุณต้องการค้นหาโปรแกรมเฉพาะใน Microsoft Store repository ให้รัน:
winget search zip -s msstore
คำสั่งจะคืนรายการแพ็กเกจ (พร้อมชื่อและเวอร์ชัน) ที่ตรงกับคำค้นหา โปรดสังเกตคอลัมน์ Source จะแสดง repository ที่แพ็กเกจตั้งอยู่
คุณสามารถดูข้อมูลของแพ็กเกจเฉพาะได้:
winget show 7zip.7zip
Repository อาจมีหลายเวอร์ชันของแพ็กเกจ ในการแสดงรายการเวอร์ชันแพ็กเกจที่มีอยู่ ให้รัน:
winget show 7zip.7zip --versions
ตัวอย่างเช่น คุณต้องการติดตั้ง 7zip คัดลอกชื่อหรือ ID และรันคำสั่งติดตั้ง:
winget install 7zip.7zip
เวอร์ชันล่าสุดของโปรแกรมจะถูกติดตั้งโดยค่าเริ่มต้น คุณสามารถติดตั้งเวอร์ชันเฉพาะของแพ็กเกจได้:
winget install 7zip.7zip -v 21.05
เช่นที่เห็น Package manager ดาวน์โหลดและติดตั้งแอปโดยอัตโนมัติด้วยคำสั่งเดียว โปรแกรมปรากฏในรายการซอฟต์แวร์ที่ติดตั้งในเมนู Start ของ Windows
ต่อไปมาติดตั้ง Windows Terminal และ VSCode สำหรับสคริปต์ PowerShell ของผม
ค้นหาชื่อแพ็กเกจก่อน:
winget search terminal
winget search "visual studio"
จากนั้นติดตั้งทีละตัว:
winget install Microsoft.WindowsTerminal –e ; winget install Microsoft.VisualStudioCode –e
ถ้าคุณต้องการรันการติดตั้งแพ็กเกจในเบื้องหลัง ใช้ตัวเลือก --silent:
winget install "VLC media player" --silent
เมื่อติดตั้งซอฟต์แวร์บางอย่าง คุณสามารถยอมรับเงื่อนไขการใช้งานโดยอัตโนมัติได้ ตัวอย่างเช่น เมื่อติดตั้ง Sysinternals toolkit:
winget install sysinternals --accept-package-agreements
โดยค่าเริ่มต้น โปรแกรมจะถูกติดตั้งบน system drive ในโฟลเดอร์ Program Files คุณสามารถเปลี่ยนโฟลเดอร์ติดตั้งสำหรับโปรแกรมได้:
winget install microsoft.visualstudiocode --location "D:\Programs"
โปรดทราบว่าเมื่อรัน winget โดยสิทธิ์ administrator ไม่ได้ UAC elevation prompt อาจปรากฏเมื่อติดตั้งบางโปรแกรม ถ้าคุณรัน winget ใน cmd/PowerShell console ที่มีสิทธิ์ elevated ทุกโปรแกรมจะติดตั้งโดยไม่มี UAC prompt (ระวัง ติดตั้งเฉพาะแอปที่คุณเชื่อถือ)
Winstall: Web GUI สำหรับ WinGet Package Manager
ผู้ใช้ที่ไม่ชอบ CLI interface ของ winget สามารถใช้บริการเว็บ Winstall (https://winstall.app/) Winstall เป็น graphical interface สำหรับ WinGet repository (มีโปรแกรมมากกว่า 2900 โปรแกรมสำหรับติดตั้ง)
คุณสามารถใช้ Winstall สร้างสคริปต์ติดตั้งสำหรับโปรแกรมที่ต้องการ หาโปรแกรมใน repository และคลิก + เพื่อเพิ่มลงในสคริปต์ติดตั้ง
จากนั้นคลิกปุ่ม Generate Script และบริการจะสร้าง CLI command เพื่อติดตั้งแพ็กเกจแอปที่เลือก
คัดลอกโค้ดจากแท็บ Batch หรือ PowerShell และวางลงใน cmd.exe หรือ PowerShell console
ดังนั้น คุณสามารถติดตั้งโปรแกรมที่ต้องการด้วยคำสั่งเพียงคำเดียว
WinGet: การอัปเดตและลบแพ็กเกจบน Windows
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 และใช้ไฟล์นี้เพื่อติดตั้ง (import) ชุดแอปเดียวกันบนคอมพิวเตอร์อื่นได้อย่างรวดเร็ว
เพื่อส่งออกรายการแอปที่ติดตั้งไปยังไฟล์ JSON ให้รัน:
winget export -o c:\ps\installedapps.json --include-versions
ถ้าไม่มี manifest สำหรับโปรแกรม คำสั่งจะแสดง error 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