วิธีการแปลงแอพ Windows Desktop เป็น Universal Windows App
ด้วยการอัปเดตครบรอบปีของ Windows 10 Microsoft ทำให้ผู้พัฒนาสามารถแปลงแอปพลิเคชัน Windows ดั้งเดิมไปเป็นแอปพลิเคชัน Universal Windows Platform (UWP) แต่ทุกคนสามารถทำได้ด้วยแอพใด ๆ ไม่ใช่แค่นักพัฒนาซอฟต์แวร์.
ด้วยตัวแปลงของ Windows 10 เพียงแค่ให้ไฟล์. msi หรือ. exe และจะแยกไฟล์. appx ออก จากนั้นคุณสามารถไซด์โหลดแอพนี้บนพีซีของคุณเองหรือหากคุณเป็นนักพัฒนาแอปพลิเคชันคุณสามารถส่งแอพ UWP ที่ได้ไปยัง Windows Store คุณลักษณะนี้จะมาถึงสำหรับทุกคนด้วยการอัปเดตครบรอบของ Windows 10 นำแอพพลิเคชั่น“ ดั้งเดิม” จำนวนมากไปยัง Windows Store.
ทำไมคุณต้องการทำเช่นนี้
คุณลักษณะนี้เป็นผลลัพธ์สุดท้ายของ Project Centennial ของ Microsoft ซึ่งได้รับการออกแบบมาเพื่อให้แอพพลิเคชันเดสก์ท็อป“ ดั้งเดิม” Win32 และ. NET Windows ไปยัง Windows Store และ Universal Windows Platform ใหม่.
คุณอาจสงสัยว่าทำไมทุกคนต้องการแปลงแอปพลิเคชันเดสก์ท็อปเป็นแอป UWP ใหม่ ประการเดียวมีเพียงแอพ UWP เท่านั้นที่ได้รับอนุญาตใน Windows Store สิ่งนี้ทำให้นักพัฒนาซอฟต์แวร์สามารถจับตาดูแอพพลิเคชั่นของตนได้มากขึ้นไม่ต้องพูดถึงการติดตั้งด้วยคลิกเดียวซื้อง่ายและอัพเดทอัตโนมัติ.
แพลตฟอร์มแอปพลิเคชั่น UWP ใหม่ของ Microsoft นั้นมีคุณสมบัติเป็นแซนด์บ็อกซ์ แต่แอพเดสก์ท็อปที่คุณแปลงไม่ใช่ แอปพลิเคชันเหล่านี้จะสามารถเข้าถึงระบบของคุณได้อย่างสมบูรณ์เหมือนกับแอปพลิเคชันเดสก์ท็อปทั่วไป ตามที่เอกสารของ Microsoft กล่าวว่า:“ ในฐานะที่เป็นแอพ UWP แอพของคุณสามารถทำสิ่งต่าง ๆ ที่มันสามารถทำได้ในรูปแบบแอพเดสก์ทอปแบบดั้งเดิม มันโต้ตอบกับมุมมองเสมือนจริงของรีจิสทรีและระบบไฟล์ที่แยกไม่ออกจากระบบไฟล์และรีจิสทรีจริง”
ข้อ จำกัด
มีข้อ จำกัด ที่สำคัญบางประการที่นี่ ก่อนอื่นคุณสามารถทำได้ในการอัพเดทครบรอบของ Windows 10 สำหรับตอนนี้มันจะทำงานร่วมกับ Windows 10 Insider Preview build 14316 และสูงกว่าดังนั้นคุณจะต้องเข้าร่วมโปรแกรม Windows Insider และใช้ Insider Preview build ของ Windows 10.
คุณลักษณะนี้ต้องการรุ่น Professional หรือ Enterprise ของ Windows 10 ผู้ใช้ 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 แสดงรายการพฤติกรรมที่ไม่ได้รับอนุญาต.
วิธีการตั้งค่าตัวแปลงเดสก์ท็อปแอป
สมมติว่าคุณใช้ build ตัวอย่างใหม่ของ Windows 10 Insider ที่เพียงพอคุณสามารถดาวน์โหลดและติดตั้ง Desktop App Converter จากเว็บไซต์ Developer ของ Microsoft ดาวน์โหลดทั้งไฟล์ DesktopAppConverter.zip และ BaseImage-14316.wim แตกไฟล์ DesktopAppConverter.zip ที่ดาวน์โหลดมาไปยังโฟลเดอร์บนคอมพิวเตอร์ของคุณและวางไฟล์ BaseImage ไว้ในไดเรกทอรีเดียวกัน (หากมี Windows 10 รุ่นใหม่ให้ใช้งานคุณควรเห็นไฟล์ BaseImage ใหม่คุณจะต้องใช้ไฟล์ BaseImage ที่มีหมายเลขเวอร์ชันเดียวกันกับ Windows 10 ที่ติดตั้งไว้แล้ว)
คุณจะต้องดาวน์โหลดและติดตั้ง Windows 10 SDK.
ถัดไปเปิดหน้าต่าง PowerShell ในฐานะผู้ดูแลระบบ หากต้องการทำเช่นนั้นให้เปิดเมนูเริ่มค้นหา“ PowerShell” คลิกขวาที่ทางลัดแล้วเลือก“ เรียกใช้ในฐานะผู้ดูแลระบบ”
เปลี่ยนนโยบายการดำเนินการของ PowerShell โดยเรียกใช้คำสั่งต่อไปนี้ ยอมรับการเปลี่ยนแปลงโดยการพิมพ์ Y
ภายหลัง.
Set-ExecutionPolicy bypass
เรียกใช้คำสั่งด้านล่างแทน C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
ด้วยพา ธ ไปยังไดเรกทอรีในคอมพิวเตอร์ของคุณ:
cd -Path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
ตั้งค่า Desktop App Converter โดยใช้คำสั่งต่อไปนี้:
.\ DesktopAppConverter.ps1 - การตั้งค่า - BaseImage. \ BaseImage-14316.wim
หากคุณถูกขอให้รีบูตในขณะที่เรียกใช้คำสั่งใด ๆ เหล่านี้ให้รีบูตคอมพิวเตอร์ของคุณแล้วเรียกใช้คำสั่งอีกครั้ง.
วิธีการแปลงแอปพลิเคชันเดสก์ท็อป
ตอนนี้คุณสามารถเรียกใช้ DesktopAppConverter.ps1
สคริปต์จากหน้าต่างผู้ดูแลระบบ PowerShell เพื่อแปลงแอปพลิเคชันเดสก์ท็อปเป็นแอปพลิเคชัน UWP ในคำสั่งเดียว คุณจะต้องติดตั้งแอปพลิเคชันเพื่อทำสิ่งนี้ ตัวอย่างเช่นเราจะใช้ VLC ที่นี่.
ในการดูรายการตัวเลือกโดยละเอียดคุณสามารถเรียกใช้คำสั่งต่อไปนี้ได้ตลอดเวลา:
รับความช่วยเหลือ \ DesktopAppConverter.ps1 - รายละเอียด
นี่คือคำสั่งที่คุณสามารถใช้และปรับแต่งสำหรับแอปพลิเคชันของคุณ:
.\ DesktopAppConverter.ps1- ขยาย BaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 - ตัวติดตั้ง C: \ Installer \ MyApp.exe - ตัวติดตั้ง "/ S" - ปลายทาง C: \ เอาท์พุท \ MyApp -PackageName สำนักพิมพ์ "CN =" รุ่นที่ 0.0.0.1 -MakeAppx -Verbose
คุณจะต้องปรับคำสั่งเพื่อเพิ่มชื่อผู้เผยแพร่เวอร์ชันชื่อแพคเกจและชี้ไปที่ไฟล์โปรแกรมติดตั้งและไดเรกทอรีปลายทางที่คุณต้องการ -เครื่องมือติดตั้ง "/ S"
ตัวเลือกที่นี่ผ่าน / S
เปลี่ยนเป็นตัวติดตั้งซึ่งทำให้ตัวติดตั้งแอปพลิเคชั่นจำนวนมากติดตั้งอย่างเงียบ ๆ โดยไม่มีการป้อนข้อมูลจากผู้ใช้ แอปพลิเคชันจะต้องติดตั้งได้โดยไม่ต้องป้อนข้อมูลจากผู้ใช้หรือคุณไม่สามารถแปลงได้.
ตัวติดตั้งของแอปพลิเคชันควรอยู่ในไดเรกทอรีของตัวเองโดยไม่มีไฟล์อื่นใดเนื่องจากไฟล์ในไดเรกทอรีเดียวกันกับตัวติดตั้งจะถูกคัดลอกลงในแพ็คเกจ. appx ที่เป็นผลลัพธ์.
ตัวอย่างเช่นเราใช้ VLC ที่นี่ดังนั้นนี่คือคำสั่งที่เราจะใช้:
.\ DesktopAppConverter.ps1- ขยาย BaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 - ติดตั้ง C: \ Users \ chris \ Downloads \ vlc \ vlc-2.2.2-win32.exe - ติดตั้ง "/ S" - สิ้นสุด C: \ Output \ VLC - ชื่อแพคเกจ "VLC" - ผู้เผยแพร่ "CN = VideoLAN" - รุ่น 0.2.2.2 --MakeAppx -Verbose
เครื่องมือนี้จะให้แพคเกจ. appx ซึ่งเป็นแอปเวอร์ชัน UWP.
วิธีติดตั้งแอพโดยไม่ต้องลงชื่อ
ตามปกติคุณจะต้องลงชื่อแอปด้วยลายเซ็นที่ถูกต้องก่อนจึงจะสามารถติดตั้งได้ Microsoft แนะนำให้สร้างใบรับรองที่ลงชื่อด้วยตนเองและลงชื่อแอปด้วยสิ่งนั้นบนคอมพิวเตอร์ของคุณ คุณสามารถทำได้โดยใช้คำแนะนำด้านล่างหากคุณต้องการ.
อย่างไรก็ตามหากคุณเพียงต้องการติดตั้งแอพในคอมพิวเตอร์ของคุณเองคุณสามารถทำได้เร็วขึ้นโดยไม่ต้องยุ่งกับลายเซ็น Windows 10 ช่วยให้คุณสามารถติดตั้งแอพได้โดยไม่ต้องเซ็นชื่อหากคุณติดตั้งแอพ“ ไม่ได้บรรจุ” จากไดเรกทอรี.
หากต้องการทำสิ่งนี้ให้เปิดหน้าต่าง PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้คำสั่งต่อไปนี้:
เพิ่ม -AppxPackage -Path C: \ Path \ to \ AppxManifest.xml - ลงทะเบียน
คุณจะพบไฟล์ AppxManifest.xml ถัดจากไฟล์ Application.appx ในไดเรกทอรีผลลัพธ์ที่คุณระบุ.
ตอนนี้คุณสามารถเปิดแอปพลิเคชันจากเมนูเริ่มของคุณ มันจะเป็น“ แอพ Windows” แทนที่จะเป็น“ แอพเดสก์ท็อป” แต่มันจะมีลักษณะและทำงานเหมือนแอพเดสก์ท็อปทั่วไป.
วิธีลงชื่อและติดตั้งแอพ
คุณไม่จำเป็นต้องทำตามคำแนะนำเหล่านี้หากคุณได้ติดตั้งแอปพลิเคชันไว้แล้ว นี่เป็นวิธีที่ยากกว่า.
โดยปกติคุณสามารถติดตั้งแพ็คเกจ. appx หากมีลายเซ็นที่ถูกต้องเท่านั้น Microsoft แนะนำให้ใช้แอปพลิเคชัน signtool.exe ที่มาพร้อมกับ Windows 10 SDK เพื่อสร้างใบรับรองแบบลงนามด้วยตนเองซึ่งจะช่วยให้คุณสามารถติดตั้งและทดสอบแอปพลิเคชันบนคอมพิวเตอร์ของคุณเอง.
เพียงเปิดหน้าต่างพรอมต์คำสั่งในฐานะผู้ดูแลระบบและเรียกใช้คำสั่งต่อไปนี้เพื่อสร้างใบรับรองแบบลงนามด้วยตนเองและลงนามในแพ็คเกจ. appx ด้วย:
cd "ไฟล์ C: \ Program (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 (Administrator) ด้วยคำสั่ง Add-AppxPackage:
Add-AppxPackage C: \ Path \ to \ application.appx
ทุกคนสามารถใช้คุณลักษณะนี้ได้ แต่มีเพียงผู้พัฒนาและผู้ดูแลระบบบางรายเท่านั้นที่ต้องการใช้เส้นทางนี้ โชคดีที่กระบวนการนี้ง่ายมากสำหรับนักพัฒนา.