msi win10,msix是什么意思
MSIX是什么?
MSIX文件是一种全新的安装包格式,可以看作是现有MSI的升级版,支持所有程序格式。2018年3月8日,在Windows开发日峰会上,微软宣布Windows 10将引入“MSIX”。不管是新技术还是新瓶装旧酒,我们来看看。
追根溯源,了解MSIX的前世今生
众所周知,自从Windows 8引入Windows Store后,Windows系统中的软件可以分为两类。一个是传统的。exe文件系统称为“Program Files”,一般安装在C:Program Files下;另一类叫做“应用”,大多安装在C:Program FilesWindowsApps下(图1)。
图1 Windows 10应用程序安装位置
对于传统的标准EXE程序,默认是MSI包格式。MSI是Microsoft Installer的缩写,是微软格式的安装包。Windows 10应用程序以APPX格式打包。这样,开发者在为Windows 10系统开发应用时,往往需要两种独立的应用打包格式。为了简化开发者的打包工作,微软推出了全新的安装包格式MSIX(=MSI APPX),这就是MSIX的原因(图2)。
图2 MSIX格式
MSIX功能特点:
融合了App应用和MSI文件封装格式的功能。新的MSIX安装程序将支持所有的Windows文件格式,包括Win32,WPF,WinForm和UWP。开发者只需要一个包就可以搞定安装容器,不用考虑不同格式,也方便通过企业网或者微软商店集中部署。
MISX文件格式集成了Windows文件格式的最佳安装技术,继承了UWP的特点,有定制的程序,更安全,支持所有Windows应用。
组合格式的背后,MSIX封装解析
如上所述,MSIX=微星APPX。微软引入这种格式是为了简化开发人员的打包工作。那么MSIX是如何实现这一功能的呢?
首先,我们来看看MSI的包格式。MSI文件是Windows Installer的数据包。本质上,它实际上是一个数据库,其中包含了一个程序所需的信息,以及在许多安装情况下安装(和卸载)该程序所需的指令和数据。它把简单的程序文件和函数封装在一起,包含了安装过程的信息,比如安装路径、系统运行时文件、安装选项等等。通过使用标准MSI格式封装的程序,我们可以在安装时记录各种详细信息,然后在卸载时根据这些信息彻底卸载程序。即使在安装过程中出现错误,我们仍然可以使用这些信息来恢复到安全之前的状态。所以很多大公司开发的软件都是以MSI格式打包的(图3)。
图3 MSI格式
APPX是继Windows 8之后的一种新的应用格式,本质上是一个随时可以分发和安装的应用包。将安装包上传到Windows Store后,在出售之前,商店将运行安全性和合规性测试,以确保用户从App Store下载所有安全的应用程序。但目前CPU架构分为ARM、x86、x64,所以Appx主要包括。APPX(非通用安装包,在ARM、x86和x64设备上需要不同的安装包)。APPXbundle(同一个应用的appx包,把不同平台需要的appx压缩在一起)。appxsym(UWP符号文件)和。appxupload(开发者用来上传应用到商店)
图4。appxbundle文件
Windows 10应用商店是微软目前正在全力推广的应用安装方式。为了实现全平台(ARM、x86、x64)兼容,微软在MWC 2015上首次推出了Windows10通用App。它建立了一套完整的通用和现代的跨语言API,可以在各种Windows平台上使用,加上良好的文档和应用商店系统。一个开发者的代码几乎完全不变,生成安装包时只需要勾选几个选项就可以实现应用的跨平台安装(图5)。
图5应用商店中的UWP应用
对于应用程序,UWP解决了跨平台封装的问题。但是从上面的介绍中我们可以知道,UWP(APPX包)和MSI是两种完全不同的包格式,分别对应的是微软推广的应用和目前最流行的EXE程序。如何将两者融合在一起?MSI应运而生,融合了APP应用的功能和MSI文件封装格式。新的MSIX安装程序将支持所有的Windows文件格式,包括Win32,WPF,WinForm和UWP。这样,只要开发者遵循MSIX封装协议,开发的应用就会被封装到。MSIX格式,然后发布到Windows 10应用商店。下载后,用户可以根据自己的实际需要选择安装方式(图6)。
图6 MSIX通用格式
比如很多习惯了Windows 7的用户都喜欢运行EXE文件。这类程序功能更全面,扩展功能更丰富。然而,许多平板电脑用户更喜欢APPX应用程序,它具有清爽的界面和简单的操作。以后我们只需要从应用商店下载安装自己喜欢的应用,而不是从华军的这些网站下载EXE程序,从商店下载应用。
MSIX,将带给我们安全和便利
如上所述,传统的EXE文件功能强大,但是我们都知道很多恶意软件和病毒都是用这种格式开发的。通常情况下,我们电脑的病毒和木马大多是由EXE文件引起的。传统程序在带来便利的同时,也给我们带来了极大的安全隐患。
与EXE程序相比,应用程序的安全性大大提高。这是因为一方面应用开发需要用证书打包(这样可以追溯到恶意应用的开发者);另一方面,应用安装包上传到商店后需要通过微软的审核,运行安全性和合规性测试,从而彻底杜绝恶意软件的存在。因此,从商店下载的MSIX文件可以给用户带来独特的安全性。当然二合一包也方便用户选择自己的安装方式,这也给开发者带来了很大的便利。此外,微软将开放源代码MSIX文件格式,并期待MSIX文件的普及即将到来。