SALTEDFISHES'S SITE

将win32软件封装成为UWP,以实现win32应用隔离

2023-07-01

其实我原本是想以使用MSIX Packaging Tool将win32封装为UWP作为标题的...

1.环境

推荐在虚拟机环境中使用MSIX Packaging Tool将win32封装。但MSIX Packaging Tool似乎只能在Windows10或者Windows11的环境中使用。

Microsoft store或者在GitHub里下载并安装好MSIX Packaging Tool就算是准备好环境了。

2.签名

如果你希望你封装出的msix安装包可以正常安装,那么这一步必不可少。
可以正常安装签名有 使用证书(.pfx)签名 和使用 Device Guard签名版本2进行签名 两种方法。

前者需要来自根证书颁发机构的证书;或者用自签证书 (参考Microsoft的文档: 为程序包签名创建证书,或我写的 为程序包(MSIX)签名创建证书(.pfx)。)
而后者需要使用工作或者学习账户登录进行授权(可以使用E5管理员账户)。

时间戳服务器URL可以尝试填写http://timestamp.digicert.com/scripts/timestamp。当然,不填写也基本不影响使用。

3.打包

第2和第3步直接选择下一个即可,第4步时请选择你要打包的软件的安装程序,并且配置好安装包签名

第5步时参数可以随便填写,并不会有任何使用上的区别。
第6步时需要等待一小会,会自动弹出安装程序,直接按照正常安装流程安装即可。
不过安装完成后我推荐运行一次程序,然后关闭,再打开安装目录,将多余的程序删除(例如卸载程序,这对于UWP来说没有用)
以及删除文件的时候记得清空回收站。之后一直下一步即可。

4.安装

如果发现MSIX Packaging Tool生成的安装包无法直接安装。可能这是因为你系统并未信任该msix文件的证书。

如果是Windows11,可以尝试使用PowerShell允许未信任的签名安装

Add-AppPackage -Path "msix文件路径" -AllowUnsigned
PowerShell

如果不是Windows11的话,可以尝试对着msix文件的属性选项卡选择数字签名,选中其中的一条,选择详情信息,再选择查看证书
在证书页面中选择安装证书,选择本地计算机,并点击下一步。选择将所有证书都放入下列存储并浏览选择受信任的根证书颁发机构