ด้วย การอัปเดตครบรอบของ Windows 10 Microsoft กำลังทำให้นักพัฒนาสามารถแปลงแอปพลิเคชันเดสก์ท็อป Windows แบบเดิมเป็นแอปพลิเคชัน Universal Windows Platform (UWP) ได้ แต่ทุกคนสามารถทำได้กับทุกแอปไม่ใช่แค่นักพัฒนา
ด้วยตัวแปลงของ Windows 10 เพียงแค่ให้ไฟล์. msi หรือ. exe จากนั้นมันจะพ่นแพ็กเกจ. appx ออกมา จากนั้นคุณสามารถไซด์โหลดแอปนี้บนพีซีของคุณเองหรือหากคุณเป็นนักพัฒนาแอปพลิเคชันคุณสามารถส่งแอป UWP ที่เป็นผลลัพธ์ไปยัง Windows Store ได้ คุณลักษณะนี้จะมาถึงสำหรับทุกคนด้วยการอัปเดตครบรอบของ Windows 10 นำแอพพลิเคชั่น“ ดั้งเดิม” จำนวนมากไปยัง Windows Store .
ทำไมคุณถึงต้องการทำสิ่งนี้
ที่เกี่ยวข้อง: มีอะไรใหม่ในการอัปเดตครบรอบของ Windows 10
คุณลักษณะนี้เป็นผลลัพธ์สุดท้ายของ Project Centennial ของ Microsoft ซึ่งได้รับการออกแบบมาเพื่อนำแอปพลิเคชันเดสก์ท็อป Win32 และ. NET Windows ที่เป็น "ดั้งเดิม" เหล่านั้นไปยัง Windows Store และ Universal Windows Platform ใหม่
คุณอาจสงสัยว่าทำไมใคร ๆ ก็อยากแปลงแอปพลิเคชันเดสก์ท็อปเป็นแอป UWP ใหม่ ประการหนึ่งคืออนุญาตเฉพาะแอป UWP เท่านั้นใน Windows Store สิ่งนี้ช่วยให้นักพัฒนาสามารถมองเห็นแอปของตนได้มากขึ้นไม่ต้องพูดถึงการติดตั้งด้วยคลิกเดียวการซื้อง่ายและการอัปเดตอัตโนมัติ
แพลตฟอร์มแอปพลิเคชัน UWP ใหม่ของ Microsoft เป็นแซนด์บ็อกซ์ แต่แอปเดสก์ท็อปที่คุณแปลงไม่ได้ แอปพลิเคชันเหล่านี้จะสามารถเข้าถึงระบบของคุณได้อย่างเต็มที่เช่นเดียวกับแอปพลิเคชันบนเดสก์ท็อปทั่วไป เช่น เอกสารของ Microsoft กล่าวว่า:“ ในฐานะแอป UWP แอปของคุณสามารถทำสิ่งต่างๆได้เหมือนแอปบนเดสก์ท็อปแบบคลาสสิก มันโต้ตอบกับมุมมองเสมือนจริงของรีจิสทรีและระบบไฟล์ที่แยกไม่ออกจากรีจิสทรีและระบบไฟล์จริง”
ข้อ จำกัด
ที่เกี่ยวข้อง: วิธีการเป็น Windows Insider และทดสอบคุณสมบัติใหม่ของ Windows 10
มีข้อ จำกัด ที่สำคัญบางประการที่นี่ ขั้นแรกคุณสามารถทำได้เฉพาะใน Windows 10 Anniversary Update ในตอนนี้จะใช้งานได้กับ Windows 10 Insider Preview สร้าง 14316 และสูงกว่าดังนั้นคุณจะต้องเข้าร่วมโปรแกรม Windows Insider และ ใช้โครงสร้าง Insider Preview ของ Windows 10 .
คุณลักษณะนี้ยังต้องใช้ Windows 10 รุ่น Professional หรือ Enterprise ผู้ใช้ Windows 10 Home จะไม่สามารถใช้ Desktop App Converter ได้ ในรุ่น 14316 มันทำงานบน Windows 10 Enterprise เท่านั้น แต่การสนับสนุนสำหรับ Windows 10 Professional กำลังจะมาถึง ปัจจุบันเครื่องมือนี้สามารถใช้ได้กับ Windows เวอร์ชัน 64 บิตเท่านั้นและแพ็กเกจ AppX ที่เป็นผลลัพธ์สามารถติดตั้งได้บน Windows เวอร์ชัน 64 บิตเท่านั้น สิ่งนี้จะเปลี่ยนแปลงในรุ่น Insider ในอนาคตของ Windows 10
แอปพลิเคชันที่ได้รับมีไว้สำหรับพีซี Windows 10 พวกเขาจะไม่ทำงานบนสมาร์ทโฟน Windows 10 Mobile, Xbox One, HoloLens, Surface Hub และแพลตฟอร์ม Windows 10 อื่น ๆ ที่เรียกใช้แอป UWP อย่างไรก็ตามหากคุณเป็นนักพัฒนา Microsoft เสนอเส้นทางในการนำแอปพลิเคชันเดสก์ท็อปของคุณเข้าสู่แอปพลิเคชัน UWP ข้ามแพลตฟอร์ม:“ หากคุณเลือกที่จะย้ายฟังก์ชันการทำงานทั้งหมดของแอปของคุณออกจากพาร์ติชันที่เชื่อถือได้เต็มรูปแบบของแอปและไปยัง พาร์ติชันคอนเทนเนอร์ของแอปจากนั้นแอปของคุณจะสามารถทำงานบนอุปกรณ์ Windows 10 เครื่องใดก็ได้”
อย่างไรก็ตามไม่รองรับพฤติกรรมการใช้งานบางประเภท แอปพลิเคชันไม่จำเป็นต้องเรียกใช้ในฐานะผู้ดูแลระบบหรือใช้การเข้าถึงระบบระดับต่ำประเภทอื่น ๆ Microsoft มีรายการไฟล์ พฤติกรรมที่ไม่ได้รับอนุญาต .
วิธีการตั้งค่า Desktop App Converter
สมมติว่าคุณใช้ Windows 10 Insider Preview รุ่นใหม่เพียงพอคุณสามารถดาวน์โหลดและติดตั้งไฟล์ โปรแกรมแปลงแอปเดสก์ท็อป จากไซต์นักพัฒนาของ Microsoft ดาวน์โหลดทั้งไฟล์ DesktopAppConverter.zip และ BaseImage-14316.wim แตกไฟล์ DesktopAppConverter.zip ที่ดาวน์โหลดมาไปยังโฟลเดอร์บนคอมพิวเตอร์ของคุณและวางไฟล์ BaseImage ในไดเร็กทอรีเดียวกัน (หากมี Windows 10 รุ่นใหม่ให้ใช้งานคุณควรเห็นไฟล์ BaseImage ใหม่คุณจะต้องใช้ไฟล์ BaseImage ที่มีหมายเลขเวอร์ชันเดียวกับรุ่นที่ติดตั้งของ Windows 10)
คุณจะต้องดาวน์โหลดและติดตั้งไฟล์ Windows 10 SDK .
จากนั้นเปิดหน้าต่าง PowerShell ในฐานะผู้ดูแลระบบ ในการดำเนินการดังกล่าวให้เปิดเมนู Start ค้นหา“ PowerShell” คลิกขวาที่ทางลัดแล้วเลือก“ Run as Administrator”
เปลี่ยนนโยบายการดำเนินการของ PowerShell โดยเรียกใช้คำสั่งต่อไปนี้ ยอมรับการเปลี่ยนแปลงโดยพิมพ์
ย
หลังจากนั้น
บายพาส Set-ExecutionPolicy
เรียกใช้คำสั่งด้านล่างแทนที่
C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
ด้วยเส้นทางไปยังไดเร็กทอรีบนคอมพิวเตอร์ของคุณ:
ซีดี - เส้นทาง C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
ตั้งค่า Desktop App Converter โดยเรียกใช้คำสั่งต่อไปนี้:
. \ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
หากคุณถูกขอให้รีบูตในขณะที่เรียกใช้คำสั่งใด ๆ เหล่านี้ให้รีบูตคอมพิวเตอร์ของคุณแล้วเรียกใช้คำสั่งอีกครั้ง
วิธีการแปลงแอปพลิเคชันเดสก์ท็อป
ตอนนี้คุณสามารถเรียกใช้ไฟล์
DesktopAppConverter.ps1
สคริปต์จากหน้าต่าง Administrator PowerShell เพื่อแปลงแอปพลิเคชันเดสก์ท็อปเป็นแอปพลิเคชัน UWP ในคำสั่งเดียว คุณจะต้องมีโปรแกรมติดตั้งของแอปพลิเคชันเพื่อดำเนินการนี้ ตัวอย่างเช่นเราจะใช้ VLC ที่นี่
หากต้องการดูรายการตัวเลือกโดยละเอียดคุณสามารถเรียกใช้คำสั่งต่อไปนี้ได้ตลอดเวลา:
รับความช่วยเหลือ \ DesktopAppConverter.ps1 - รายละเอียด
คำสั่งที่คุณสามารถใช้และปรับเปลี่ยนสำหรับแอปพลิเคชันของคุณมีดังนี้
. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 - โปรแกรมติดตั้ง C: \ Installer \ MyApp.exe -InstallerArguments "/ S" - ปลายทาง C: \ Output \ MyApp -PackageName "MyApp" -Publisher "CN = <publisher_name>" -Version 0.0.0.1 -MakeAppx -Verbose
คุณจะต้องปรับเปลี่ยนคำสั่งเพื่อเพิ่มชื่อผู้เผยแพร่เวอร์ชันชื่อแพ็กเกจของคุณเองแล้วชี้ไปที่ไฟล์โปรแกรมติดตั้งและไดเรกทอรีปลายทางที่คุณต้องการ
-InstallerArguments "/ S"
ตัวเลือกที่นี่จะผ่านไฟล์
/ ส
เปลี่ยนไปใช้โปรแกรมติดตั้งซึ่งทำให้โปรแกรมติดตั้งแอปพลิเคชันจำนวนมากติดตั้งแบบเงียบโดยไม่ต้องป้อนข้อมูลจากผู้ใช้ แอปพลิเคชันต้องสามารถติดตั้งได้โดยไม่ต้องป้อนข้อมูลจากผู้ใช้หรือคุณไม่สามารถแปลงได้
โปรแกรมติดตั้งของแอปพลิเคชันควรอยู่ในไดเรกทอรีของตัวเองโดยไม่มีไฟล์อื่นเนื่องจากไฟล์ในไดเร็กทอรีเดียวกับโปรแกรมติดตั้งจะถูกคัดลอกไปยังแพ็กเกจ. appx ที่เป็นผลลัพธ์
ตัวอย่างเช่นเรากำลังใช้ VLC ที่นี่ดังนั้นนี่คือคำสั่งที่เราจะใช้:
. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 - โปรแกรมติดตั้ง C: \ Users \ chris \ Downloads \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" - ปลายทาง C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -Version 0.2.2.2 -MakeAppx -Verbose
เครื่องมือนี้จะให้แพ็คเกจ. appx ซึ่งเป็นเวอร์ชัน UWP ของแอป
วิธีติดตั้งแอปโดยไม่ต้องลงนาม
โดยปกติคุณจะต้องลงชื่อแอปด้วยลายเซ็นที่ถูกต้องก่อนจึงจะสามารถติดตั้งได้ Microsoft ขอแนะนำให้สร้างใบรับรองที่ลงนามด้วยตนเองและลงนามแอปด้วยสิ่งนั้นบนคอมพิวเตอร์ของคุณ คุณสามารถทำได้โดยใช้คำแนะนำด้านล่างหากต้องการ
อย่างไรก็ตามหากคุณเพียงแค่ต้องการติดตั้งแอปบนคอมพิวเตอร์ของคุณเองคุณสามารถทำได้เร็วขึ้นโดยไม่ต้องยุ่งกับลายเซ็นใด ๆ Windows 10 ช่วยให้คุณสามารถติดตั้งแอปได้โดยไม่ต้องลงนามหากคุณกำลังติดตั้งแอปแบบ“ ไม่รวมแพ็คเกจ” จากไดเรกทอรี
ในการดำเนินการนี้ให้เปิดหน้าต่าง PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้คำสั่งต่อไปนี้:
Add-AppxPackage - เส้นทาง C: \ Path \ to \ AppxManifest.xml - ลงทะเบียน
คุณจะพบไฟล์ AppxManifest.xml ถัดจากไฟล์ Application.appx ในไดเร็กทอรีเอาต์พุตที่คุณระบุ
ตอนนี้คุณสามารถเปิดแอปพลิเคชันได้จากเมนูเริ่มของคุณ มันจะเป็น "แอป Windows" แทนที่จะเป็น "แอปเดสก์ท็อป" แต่จะมีลักษณะและทำงานเหมือนแอปบนเดสก์ท็อปทั่วไป
วิธีลงชื่อและติดตั้งแอพ
คุณไม่จำเป็นต้องทำตามคำแนะนำเหล่านี้หากคุณได้ติดตั้งแอปพลิเคชันแล้ว นี่เป็นวิธีที่ยากกว่า
โดยปกติคุณสามารถติดตั้งแพ็คเกจ. appx ได้หากมีลายเซ็นที่ถูกต้อง Microsoft แนะนำให้ใช้แอปพลิเคชัน signtool.exe ที่มาพร้อมกับ Windows 10 SDK เพื่อสร้างใบรับรองที่ลงนามด้วยตนเองซึ่งจะช่วยให้คุณสามารถติดตั้งและทดสอบแอปพลิเคชันบนคอมพิวเตอร์ของคุณเองได้
เพียงเปิดหน้าต่างพรอมต์คำสั่งในฐานะผู้ดูแลระบบและเรียกใช้คำสั่งต่อไปนี้เพื่อสร้างใบรับรองที่เซ็นชื่อด้วยตนเองและลงนามในแพ็คเกจ. appx ด้วย:
ซีดี "C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64"
MakeCert.exe -r -h 0 -n "CN = ผู้เผยแพร่" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx
signtool.exe ลงชื่อ -f my.pfx -fd SHA256 -v C: \ Path \ to \ application.appx
โปรดทราบว่าผู้เผยแพร่ที่คุณระบุนั่นคือไฟล์
"CN = ผู้เผยแพร่"
- ต้องตรงกับผู้เผยแพร่ที่คุณระบุไว้ก่อนหน้านี้เมื่อสร้างไฟล์ AppX ดังนั้นในการดำเนินการต่อด้วยตัวอย่าง VLC จากด้านบนเราต้องใช้
"CN = VideoLAN"
.
คุณจะถูกขอให้ป้อนรหัสผ่าน คุณสามารถเว้นว่างรหัสผ่านไว้ได้
ตอนนี้คุณสามารถติดตั้งแพคเกจ. appx ในหน้าต่าง PowerShell (ผู้ดูแลระบบ) ด้วยคำสั่ง Add-AppxPackage:
Add-AppxPackage C: \ Path \ to \ application.appx
ทุกคนสามารถใช้คุณลักษณะนี้ได้ แต่มีเพียงนักพัฒนาและผู้ดูแลระบบบางคนเท่านั้นที่ต้องการไปเส้นทางนี้ โชคดีที่กระบวนการนี้ง่ายมากสำหรับนักพัฒนา