发布日期:2015-12-06 作者:小白系统 来源:http://www.03727.com
Appx格式分为四种:
第一种 - 扩展名为.appx;
第二种 - 扩展名为.appxsym;
第三种 - 扩展名为.appxupload。
第四种 - 扩展名为.appxbundle;
第一种Appx可能在一些人看来并不能体现它是“uwp”的安装包,因为它的安装包并不是通用的,在ARM、x86、x64设备上需要不同的安装包,并不能一个安装包走遍天下(基于Javascript开发的uwp除外,老的win 8应用除外)。
www.xiazaima.com
第四种Appx其实便是将同一应用的第一种Appx打包了起来,将ARM、x86、x64等平台需要的Appx用Zip文件放到了一起,在ARM设备上安装就提取里面ARM的第一类Appx来安装,x86就提取x86。您没看错,便是这么粗暴的做法,实现了“伪”安装包通用。
第二种和第三种都是开发者需要接触到的,平常见不到,第三种是uwp符号文件,第四种是未经.net native解决的上传文件。开发者向商店上传应用用的便是第四种文件,实际上便是将第二种和第三种文件通过Zip压缩放到了一起。
其中扩展名为.appx的格式分为【依赖包】、【资源包】和【应用程序包】
个典型的依赖包Appx
其中所有的.winmd .dll文件是供其它程序使用的库。
Codeintegrity.cat文件是包的数字签名,保证appx文件不被篡改。
AppxBlockMap.xml文件保存了包中所有文件的名称,校验值和文件大小。
AppxManifest.xml文件是包清单文件,它保存了这个包的基本属性,比如包的名称,发布者等。
[Content_Types].xml文件保存了所有文件的Content Type。
Appxsignature.p7x同样是数字签名。
剩下两个文件是logo.png和resources.pri,这两个文件是这个包特有的,就不全面说明了。logo.png自然是这个包的图标。resources.pri是这个dll的资源文件。
各种dll、exe、png等。
实际上uwp平台的通用并不是体现在安装包上的通用,uwp构建了一整套可以在各种win平台上使用的通用而现代的跨语言Api,再加上良好的文档和应用商店体系。实现了开发者的一份代码几乎完全不用改动,只用在生成安装包的时候勾选几个选项就可以实现的跨平台。
现在大家应该都清楚Appx是个什么东西了,它实际上便是带数字签名的压缩包,把安装目录打包起来而已。