Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 11

การใช้ WinGet Package Manager บน Windows 10 และ 11

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 – แสดงรายการแอปที่ติดตั้งบน Windows
  • winget show <package> — แสดงข้อมูลแพ็กเกจ
  • winget source <options> — จัดการ repositories
  • winget search <search_string> — ค้นหาแพ็กเกจใน repositories
  • winget export – ส่งออกรายการโปรแกรมที่ติดตั้งไปไฟล์
  • winget import – ติดตั้งโปรแกรม (แพ็กเกจ) ตามรายการในไฟล์
  • winget hash <package> — ได้ไฟล์ติดตั้งแพ็กเกจ hash
  • winget 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