แนวคิดของการจัดการแพ็กเกจ — ที่มุ่งเน้นไปที่ตำแหน่งศูนย์กลางซึ่งผู้ใช้สามารถดาวน์โหลดแอปพลิเคชันทั้งหมดได้ — ไม่ได้เป็นเรื่องใหม่หรือนวัตกรรม และแน่นอนว่าไม่ได้เริ่มต้นจากระบบปฏิบัติการมือถือ สิ่งนี้มีอยู่ใน Linux มาหลายปีแล้ว และในที่สุดก็พัฒนาเป็นแอปสตอร์ Apple มี Google มี และ Microsoft ก็มีแบบของตัวเอง — แบบประมาณ
น่าเสียดายที่มันไม่ได้มุ่งเป้ากลุ่มผู้ใช้หลักของ Windows — ผู้ใช้เดสก์ท็อปจำนวนมหาศาล ผมเคยเป็นแฟนของ Windows Phone อย่างมาก — ยังคง擁有หลายเครื่องตั้งแต่ Lumia 520 ถึง Lumia 950 — แต่จุดที่ทำให้ทุกอย่างล้มเหลวคือขาดแอปยอดนิยมใน Microsoft Store รวมถึงข้อเท็จจริงที่ว่าผู้ใช้ Windows ต้องหาซอฟต์แวร์ทีละชิ้นจากเว็บไซต์ต่างๆ ผลลัพธ์คือไม่มีใครสนใจใช้สตอร์นี้เลย Windows Package Manager จึงเป็นการพยายามอย่างกล้าหาญในการแก้ไขสถานการณ์นี้
Winget เข้าใจมั้ย?
Microsoft ไม่เคยเสนอซอฟต์แวร์เดสก์ท็อปมาตรฐานผ่าน Store ของตน — แต่มีโซลูชันของบุคคลที่สามหลายตัวที่พยายามเสนอฟังก์ชันจัดการแพ็กเกจแบบ Linux บนเดสก์ท็อป Windows Chocolatey เป็นตัวอย่างที่ดี — ผมทดสอบไป 5 ปีก่อน ตอนนี้จะเยี่ยมไหมถ้ามีเครื่องมืออย่างเป็นทางการจาก Microsoft ที่ให้ชุดแอปเดสก์ท็อปที่คุณต้องการทั้งหมด และอาจมีวิธีทำให้การติดตั้งและการตั้งค่าอัตโนมัติได้? ตอนนี้มีแล้ว
หลังจากอ่านเกี่ยวกับ Windows Package Manager และอินเทอร์เฟซบรรทัดคำสั่ง winget ผมตัดสินใจติดตั้งและลองใช้ ดูสิถ้ามันทำงานได้ดี มันจะเปิดโลกแห่งความเป็นไปได้ใหม่ทั้งหมด รวมถึงการปรับแต่งหลังติดตั้งง่ายๆ ความสามารถในอัปเดตซอฟต์แวร์ — สิ่งที่ผู้ใช้ Windows ไม่ค่อยทำ — และสำหรับนักเทคนิค บางอย่างที่สคริปต์ได้ง่าย ดังนั้นถ้าคุณกำลังสร้างระบบใหม่ การตั้งค่าสามารถเป็นแบบ hands-off และรวดเร็วได้
การติดตั้ง
ผมดาวน์โหลดแพ็กเกจ Desktop App Installer และรัน มันไม่ค่อย直观เลย ตัวติดตั้งแบบ wizard จะดีกว่า แต่สำหรับ preview แรกๆ ถือว่าโอเค หลังจากติดตั้ง winget แล้ว ให้เปิด command prompt หรือ PowerShell เริ่มใช้งานได้เลย


คำสั่งง่ายเข้าใจ — และคล้ายกับที่นักเทคนิคเคยเจอใน Linux คุณรัน winget search "package name" เพื่อหาแอป และรัน winget install "package name" เพื่อติดตั้ง 聽起มาง่ายมาก

ค้นหาและติดตั้ง
ผมลองค้นหาพื้นฐานหลายครั้ง ในบางกรณีอาจมี entry ที่มีอยู่มากกว่าหนึ่ง — หรือเวอร์ชันต่างกัน และที่นี่ผมเจอปัญหาครั้งแรก: เมื่อมีแอปหลายตัวตรงกับเงื่อนไข:

คุณจะเห็นข้อความ:
Multiple apps found matching input criteria. Please refine the input.
สิ่งนี้แก้ได้โดยใช้ flag -e (exact) กับตัวเลือก install — หรือระบุเวอร์ชันที่ต้องการ แต่ไม่ได้ documented อย่างชัดเจน ผมคาดว่าฟังก์ชันนี้จะเปลี่ยนแปลงไปตามเวลา ตัวอย่างเช่นสำหรับ GIMP:
winget install -e GIMP.GIMP


ไม่มี wizard แสดง และไม่มีตัวเลือกปรับแต่ง อีกครั้ง นี่อาจต้องปรับปรุง เพราะบางครั้งผู้ใช้อาจเลือกการตั้งค่าที่ไม่ใช่ค่าเริ่มต้น สิ่งที่ผมชอบคือไฟล์ติดตั้งมาจากเว็บไซต์อย่างเป็นทางการ และ hash ของไฟล์ที่ดาวน์โหลดถูกตรวจสอบ แม้จะไม่ได้หมายความว่าทุกอย่างจะบริสุทธิ์สมบูรณ์ แต่เป็นจุดเริ่มต้นที่ดีในการให้ระดับความไว้วางใจและความสมบูรณ์ที่ผู้ใช้คาดหวังจากตัวจัดการแพ็กเกจ (หรือสตอร์)
แล้วลื่นไหม?
ผมลองแอปเพิ่มอีกนิด — และเจอปัญหาเล็กน้อย ตัวอย่างเช่น Steam คุณได้แค่ stub ซึ่งตอนรันครั้งแรกจะดึงข้อมูล Steam จริงๆ 200MB นี่หมายความว่าแอปบางตัวจะไม่มีการ auto-configure เต็มที่ และอาจมีการปรับแต่งหลังติดตั้ง


ต่อมาผมลอง VLC และทิ้งคอมพิวเตอร์ไว้ ตอนกลับมา ติดตั้งล้มเหลว ผมคิดว่เป็นเพราะไม่ได้ตอบ UAC prompt ที่ถามว่าอยากติดตั้ง XYZ หรือไม่ ผมรันเป็น standard user จาก command line จึงอาจเห็น prompt นี่ควรคำนึงถึง ถ้าอยากการตั้งค่าแบบ unattended — รวมถึงตัวเลือก non-default คุณยังไม่ได้เห็น EULA เลย อีกองค์ประกอบโดยนัยในสมการนี้
...
Successfully verified installer hash
Installing...
Installer failed with exit code: 1223
แต่เร็วๆ นี้ผมก็มีเครื่องมือเยอะแล้ว (ไม่ได้เป็นสไตล์ 007):

สรุป
การทดสอบสั้นๆ กับ winget ค่อนข้างพอใจ เครื่องมือตรงไปตรงมา ประสิทธิภาพสมเหตุสมผล — เครือข่ายก็เครือข่าย ขึ้นกับแบนด์วิดท์ — แต่การติดตั้งจริงอาจใช้เวลา และเพราะไม่มีข้อมือบ่งชี้ว่ากำลังเกิดอะไรขึ้น กระบวนการจึงอาจรู้สึกนานกว่าจริง แต่ פרטจาก UAC prompt ที่ลืมและความคลุมเครือบางส่วนเกี่ยวกับเวอร์ชันแอปเฉพาะ winget ทำงานได้ดี ไม่มีบั๊กแปลกๆ หรือ error ใดๆ
ผมคิดว่านี่จะเป็นสิ่งดีในที่สุด ไม่แน่ใจว่าจะ implement ยังไง แต่สุดท้ายเมื่อครอบคลุมโลก Win32 แล้ว winget มีโอกาสชนะที่ Microsoft Store ไม่ได้ นี่อาจเป็นสิ่งที่ให้ผู้ใช้ Windows แรงจูงใจจริงๆ ใช้ตัวจัดการแพ็กเกจ — ตัวนี้ — และอาจสร้างบัญชี (อาจมี backup, restore ฯลฯ) แบบที่พวกเขามีกับ store front ใดๆ ไม่ว่าจะเป็นระบบปฏิบัติการมือถือหรือแพลตฟอร์มเกมมิ่ง รวมๆ แล้วผมพบว่า winget เป็น nugget ที่จolly ยังมีงานต้องทำอีกมากก่อนปล่อยให้คนทั่วไปใช้ แต่ผมคิดว่านี่อาจเป็นมันแล้ว ตัวจัดการแพ็กเกจที่ผู้ใช้เดสก์ท็อปจะอยากได้ จะมีตอนต่อไป
Cheers.