Windows 10的MSIX究竟是什么

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:shanzhaokai
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读

追根溯源 了解MSIX的前世今生


  大家知道从Windows 8引入Windows商店开始,在Windows系统中软件就分为两大类,一类是传统的.exe文件系统,称之为“程序”(Program Files),一般装在C:\Program Files下;另一类则称之为“应用”(Application),大多安装在C:\Program Files\ WindowsApps下(图1)。
  对于传统的标准EXE程序,默认使用的是MSI封装格式,MSI是Microsoft Installer的简写,是微软格式的安装包,Windows 10应用则使用APPX格式封装。这样开发者为Windows 10系统开发应用时就常常需要使用两种独立封装格式。为了简化开发者的封装工作,微软引入了全新的安装包格式MSIX(=MSI+APPX),这就是MSIX的来由(图2)。


组合格式的背后 MSIX封装解析


  如上所述,MSIX=MSI+APPX,微软推出这种格式的目的是为了简化开发者的封装工作。那么MSIX是怎么实现这个功能的呢?
  首先我们来了解一下MSI封装格式。MSI文件是Windows Installer的数据包,从本质上讲它实际上是一个数据库,其中包含一个程序所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。它将单纯的程序文件和功能封装在一起,并且包含有关的安装过程信息,比如安装路径、系统运行库文件、安装选项等信息。这样使用标准MSI格式封装的程序,我们在安装的时候可以记录各种详细的信息,卸载的时候则可以根据这些信息将程序完全卸载,即使安装过程中出现错误,我们同样可以借助这些信息恢复到安全前的状态。因此很多大公司开发的软件都使用MSI格式进行封装(图3)。
  APPX则是Windows 8之后新增的一种应用格式,其实质是一个准备好分配和安装的应用程序包。将安装包上传到Windows商店后,在出售之前,商店会运行安全性和遵从性测试,确保用户从应用商店下载的都是安全性的应用。但是由于目前CPU架构有ARM、x86、x64之分,因此APPX主要有.appx(非通用安装包,在ARM、x86、x64设备上需要不同的安装包)、.appxbundle(同一应用的APPX打包,将不同平台需要的APPX压缩在一起)、.appxsym(UWP符号文件)、.appxupload(开发者向商店上传应用用的文件)四种格式(图4)。



  Windows 10应用商店是微软目前全力推广的应用安装方式,为了实现全平台(ARM、x86、x64)兼容,微软在MWC 2015上首次推出Windows 10通用应用(Windows 10 Universal APP)。它构建了一整套可以在各种Windows平台上使用的通用而现代的跨语言API,再加上良好的文档和应用商店体系,实现了开发者的一份代码几乎完全不用改动,只用在生成安装包的时候勾选几个选项,就可以实现应用的跨平台安装(图5)。
  对于应用,UWP解决了跨平台封装难题。不过从上面的介绍可以知道,UWP(APPX封装)和MSI是两种完全不同的封装格式,它们分别对应微软全力推广的应用和目前最为普及的EXE程序。如何让这两者整合在一起?MSIX应运而生,它汇集了APP应用程序和MSI文件封装格式的功能。全新的MSIX安装器将支持所有的Windows文件格式,包括Win32、WPF、WinForm和UWP。这样开发者只要遵循MSIX封装协议,将开发的应用程序封装为.MSIX格式后发布到Windows 10应用商店,用户下载后就可以根据自己的实际需要自行选择安装方式(图6)。
  比如很多习惯Windows 7的用户喜欢运行EXE文件,这种类型的程序功能更全面,擴展功能更丰富;但是很多平板用户则更喜欢APPX应用,这种应用界面清爽,操作简单。以后我们只要从应用商店下载安装自己喜欢的应用即可,而不是像现在EXE程序要到华军这些网站下载,应用则要到商店下载。


MSIX 将带给我们安全和便利


  如上所述,传统EXE文件的功能强大,但是大家也知道很多恶意软件、病毒也都是使用这种格式开发的。平时我们电脑的病毒、木马大多是EXE文件带来的,传统程序在带来便利的同时也给我们带来极大的安全隐患。
  应用相对EXE程序来说安全性就提高了许多,这是因为一方面应用的开发需要打包证书(这样通过证书就很容易追溯到恶意应用的开发者);另一方面应用安装包在上传到商店后需要通过微软的审核,运行安全性和遵从性测试,彻底杜绝恶意软件的入驻。因此从商店下载的MSIX文件可以给用户带来前所未有的安全性。当然二合一方式的封装也便于用户自行选择安装方式,同样给开发者带来极大的便利,而且微软会将MSIX文件格式进行开源化。期待MSIX文件的普及早些到来。
其他文献
Q:网上很多资料都是通过PDF文件格式的形式提供的,但是有些时候这些文件的体积过大。能不能通过什么方法对这些文件进行压缩,从而减少其对磁盘空间的占用?  A:Smallpdf是一个知名的PDF文件在线管理平台,最近它推出了一个客户端软件(https://smallpdf.com/cn/desktop),通过这个软件就可以实现文件的压缩操作。打开软件操作界面后选择需要进行压缩的PDF文件,在弹出的新
期刊
添加域名解析服务地址  其实网络里面已经有很多可以加快网络域名解析的软件,但是由于这些软件长时间不进行更新,已经不能適合当前的网络环境。所以我们今天首先下载“DNS Chooser”这款网络域名解析软件,解压后在文件夹目录里面找到dnschooser.conf 这个文件。现在利用文本编辑器打开这个文件,在StandardResolver Address这个参数的后面可以看到多组内置的DNS域名解析
期刊
Q:之前在Freenom这个网站中申请了一个免费的域名,当时申请的使用时间是12个月,现在这个时间马上就要到期了,而且也收到了相关的通知邮件。通过什么方法才可以继续使用这个免费域名?  A:通过浏览器打开Freenom.com这个网站,并且登录到系统的后台,点击“Services”菜单中的“Renew Domains”命令,在弹出的网页中就可以看到域名续订信息。找到需要进行续订的网页域名,点击后面
期刊
通过第三方扩展商店下载  其实国内的浏览器扩展商店还是有一些的,但是这些扩展商店都有一些专门的针对限制。比如360的扩展商店只能使用360极速浏览器才可以使用,如果用户使用的是其他浏览器就无法使用了。所以通常情况下用户还是只能选择通用性的扩展商店,而这类网站包括“插件网”、“Crx4Chrome”、“G u g e a p p s”和“ChromeFor浏览器插件”等。  首先通过浏览器打开“插件
期刊
Witeboard 最简洁的多人协作  在制作复杂图表或者协作的时候,团队之间经常要互相协作。但是由于团队成员之间不在一个地方,如果要实现实时的互动交流,利用https://witeboard. com/提供的白板服务可以实现高效的实时交流。  比如需要制作一张市场分布图解,发起者只要登录上述网站,在白板上使用笔形工具画出结构图,或者使用文字(T)工具添加注释说明,这样在白板上就可以显示出结构图(
期刊
播放软件变身下载工具  其实有些软件附带的一些功能,就可以解决用户面临的一些大问题。比如我们利用一款播放软件,就可以有效地解决百度网盘下载的问题。首先从网上下载安装最新版本的“爱奇艺万能播放器”(http://app.iqiyi. com/pc/wnplayer/index.html),启动以后点击软件窗口右上角的“百度网盘”按钮。如果用户没有发现这个按钮的话,那么建议关闭播放器以后重新进行运行操
期刊
突出重点 卡片前后排列  在很多幻灯片中我们都会使用卡片元素,但是如果只是简单地进行排列,没有层次感,无法快速引导用户关注幻灯片需要突出的主题。比如某平台的投资标的,需要突出高收益的部分,平铺排列就无法引起用户的注意(图1)。  如果需要突出重点,此时就可以对卡片进行前后排列,这样既可以形成层次,又可以突出重点。选中中间的卡片,然后将其大小略微调整一下,右击选择“置于顶层→置于顶层”,将其放置在最
期刊
纯字封面  制作封面的过程中,经常会遇到除了标题文字其他一无所有的情况,基本上就是“白手起家”。这种情况下做封面,可以从特殊字体、色块蒙版、自制图形等方面着手,在只有软件的情况下,对纯文字封面进行美化修饰。  对于不同主题或风格的演示文稿,选择相符合的字体是一种有效的做法。一个有个性有力量的字体,足以撑起整个PPT封面。在纯文字的封面中,依托字体设计的封面相当普遍。  封面中可运用多种字体丰富页面
期刊
1. 构造冰激凌  在PPT中利用自选图形,通过“合并形状”中的联合、组合、拆分、相交、剪除等,生成所需要的图形。打开Articulate Storyline 3并新建一个项目,双击无标题幻灯片,右击设置它的背景,将PPT幻灯片中创建好的图形复制粘贴到Articulate Storyline 3幻灯片中,再将这些图形按一定的层次结构进行组合,拼出完整的冰激凌样式(图2)。 2. 设置食材状态  选
期刊
Q:現在很多商品都自带有条形码,这样在扫描的时候就非常方便,但是并不是所有的商品都有条形码。如何在表格里面自定义一个条形码?  A:可以点击“开发工具”标签中的“插入”按钮,在弹出的菜单里面选择“其他控件”,在对话框里面选择“Microsoft Barcode Control 16.0”,在“条形码”单元格中拖拽鼠标,就可以创建出一个条形码了。通过鼠标右键点击条形码,在属性对话框里面选择“7-co
期刊