worldsite / blog.sc

Blogging soul chat, stay cool. via: https://blog.sc
3 stars 0 forks source link

Win32转Bridge UWP指南 #48

Open suhao opened 1 year ago

suhao commented 1 year ago

微软提供了一种将win32程序直接转成UWP的方法--Desktop Bridge

UWP发布过程:Pre-processing --> Certification --> Release --> Publishing

一、基础环境

  1. 系统环境:版本在10.0.14393.0之上,x64 Processor,可以执行systeminfo命令查看
  2. 安装Windows10SDK
  3. 在Windows商店下载安装Desktop App Converter
  4. 下载与当前系统版本匹配的BaseImage:https://aka.ms/converterimages

二、转编

  1. 以管理员权限打开Desktop App Convert
  2. St-ExecutionPolicy bypass
  3. 加载BaseImage:仅加载一次即可,DesktopAppConverter.exe -Setup -BaseImage D:\UWP\BaseImage-15063-UPDATE.wim -Verbose
  4. 制作
DesktopAppConverter.exe -Installer E:\App\AppSetup.exe -InstallerArguments "/S" -Destination D:\App\App -PackageName "0C72C7CD.535318B65018D" -AppId "App" -AppDisplayName "APP" -PackageDisplayName "App" -AppDescription "App" -Publisher "CN=7C12DEB1-3990-4000-BC36-CFF184F703CC" -PackagePublisherDisplayName "App" -Version 3.0.41.0 -MakeAppx -Verbose

DesktopAppConverter.exe -Installer d:\App\win32\AppSetup.exe -InstallerArguments "/S" -Destination D:\App\output -PackageName "0C72C7CD.535318B65018D" -AppId "App" -AppDisplayName "App" -PackageDisplayName "App" -AppDescription "App" -Publisher "CN=7C12DEB1-3990-4000-BC36-CFF184F703CC" -PackagePublisherDisplayName "App" -Version 3.0.41.0 -Verbose
  1. 图片压缩,如果D:\App\output\0C72C7CD.535318B65018D\PackageFiles\Assets\AppLargeTile.scale-400.png文件大小超过200kb,可以使用pngout进行优化

  2. 手动打包:不要再desktop bridge环境里

    "C:\Program Files (x86)\Windows Kits\10\bin\x86\makeappx.exe" pack /d D:\app\output\0C72C7CD.535318B65018D\PackageFiles /p D:\app\output\0C72C7CD.535318B65018D_S05.appx /l

三、其他

打开C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools,在cmd运行VsDevCmd.bat,然后执行如下操作

  1. 生成证书
cd "C:\Program Files (x86)\Windows Kits\10\bin\x86"
MakeCert.exe -r -h 0 -n "CN=7C12DEB1-3990-4000-BC36-CFF184F703CC" -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 
  1. 手动签名
cd "C:\Program Files (x86)\Windows Kits\10\bin\x86"
signtool.exe sign -f my.pfx -fd SHA256 -v .\0C72C7CD.535318B65018D_S03.appx
  1. WACK认证
    Before you submit your app for certification and listing in the Windows Store, use the Windows App Certification Kit to test your app and make sure it's ready to go.
    "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\appcertui.exe"
    • Convert 后,PackageFiles 中Manifest 的DisplayName的名称
    • Appx 安装在本机上生成的菜单栏的名称
    • 最小化任务栏显示名称