两年前微软公布了 Windows 新的安装格式 MSIX,试图让软件安装和卸载流程更轻便更安全。
01
—
MSI, EXE 和 AppX
目前 Windows 系统常用的安装格式有三种,MSI, EXE 和 AppX。
安装过程不会检测该软件是否已经存在于计算机,或者是否缺少什么必备组件。不管怎么它会直接覆盖安装路径中的所有文件。
这种简单粗暴的方式,非常适合无人值守的情况,驱动程序大多也是用 MSI 格式安装。

因为是程序,所以能实现更多功能,比如检测已安装项,允许自定义安装路径,检测安装缺失的必备运行库,更「花里胡哨」的安装界面等等。
因为EXE 格式功能更丰富,用户和开发者都喜欢用,反而比专门的安装格式 MSI 更常见。
它继承了 MSI 的优点,就像手机软件的安装过程一样,几乎没有给用户任何选项,它允许直接覆盖升级,完全干净的卸载,Appx 程序运行在沙盒中,不能访问其他应用内存、文件。
这个安装格式之所以没有火起来,主要原因还是对开发者太不友好,限制了软件权限,封包AppX 格式还必须重写。
02
—
MSI + AppX = MSIX
正如大家知道的,EXE 程序功能强大,但也因此被恶意程序和流氓软件甚至病毒、木马利用,EXE 在带来便利的同时也给我们带来极大的安全隐患。
APPX 相对 EXE 安全性有了质的提升,但又因为严苛的限制条件又伤害了开发者的利益,而无法传播开。
MSI 又过于简单,用户和开发者都不喜欢用。

从用户的角度来看,MSIX 的安装过程类似 MSI 文件,但在其背后的工作原理又类似 AppX 文件。
另外,现在的软件有一个很大的毛病是「杂乱」,经常卸载软件后还留下文件夹和注册表。

并且,MSIX 格式可以给用户带来前所未有的安全感。因为能够使用的 MSIX 文件都必须要有受信任的根签名,并且上传到应用商店的软件都需要经过微软的审核。
其中可能也有微软赚钱的「私心」,但确实为用户带来了不少好处。
对于独立开发者或资金不足的工作室,大概还是会使用免费的 EXE 格式。
为了促进开发者使用新的格式,微软提供了非常简便的 MSIX 转换工具,开发人员可以直接将现有的 EXE、MSI 或 AppX 文件转换为MSIX 格式。
工具下载地址:https://docs.microsoft.com/zh-cn/windows/msix/
另外和 Appx 格式甚至可以在 Windows7,Linux 等平台上直接运行!
MSIX 虽然好处多多,并且已经可以使用,但正正要普及开很需要很漫长的时间,短期内(3-5年)还会以 EXE 为主。