读书频道 > 网站 > 网页设计 > Windows运行时编程权威指南
2.3.2 捆绑程序包文件的创建
15-03-31    下载编辑
收藏    我要投稿   

本文所属图书 > Windows运行时编程权威指南

《Windows 运行时编程权威指南》分为两部分,共11章:第一部分(第1~3章)囊括了所有WinRT和Windows应用商店应用开发人员必须了解的重要概念,包括WinRT 类型系统及其设计原则、异步调用、程序包文件,以及应立即去当当网订购

在前一节中介绍的.appx文件有时被称为臃肿程序包(fat package),因为该文件的体积可能会非常巨大。如果程序包中包含了适用于多种语言、多种屏幕分辨率的资源,或者包含了适用于多种版本DirectX的纹理贴图,就会变得很大。但是当用户安装一个程序包时,可能只需要其中一组语言资源,一组适用于其监视器分辨率的图像,以及一组适用于其显卡的纹理贴图。对臃肿程序包的安装会安装其所有的文件,而无论用户是否需要这些文件。对有些程序包,这可能会造成带宽和硬盘空间的严重浪费。

你可以通过创建一个捆绑程序包文件为用户改善这一情况。捆绑程序包文件是一种不同类型的包文件。与.appx程序包文件相似,捆绑程序包文件也具有由程序包名称、版本和发布者ID构成的标识,其资源ID始终为波形符(~),而其CPU体系结构始终为“Neutral”。

在图2.2和图2.5中,你已经见过“生成应用程序捆绑包”(Generate App Bundle)选项。如果该选项设置为Never,将不会生成捆绑包文件。然而,如果该选项被设置为Always或者Needed,MakeAppx.exe工具会被传入一个“捆绑”开关,指示其创建一个.appxbundle程序包文件(如果你已准备好所需资源)。该文件其实是另一个ZIP文件,包含着其自身的XML清单文件以及其他.appx程序包文件。.appxbundle程序包文件的XML清单文件的架构可以在http://msdn.microsoft.com/en-us/library/windows/apps/dn263100.aspx找到。你希望使用的每一种CPU架构(x86,x64,或ARM)都对应于一个.appx程序包,每一组语言资源(英语、西班牙语、法语、德语等)都对应于一个.appx文件,每一种分辨率尺度(80%,100%,140%,以及180%)都对应于一个.appx文件,你拥有纹理贴图的每一个DirectX的版本(dx9,dx10,and dx11)也都对应于一个.appx文件。

你向Windows应用商店上传的便是该.appxbundle程序包文件。然后,当用户安装你的应用时,系统会对用户的CPU进行检测,并为其安装包含有匹配代码的.appx程序包。进而,系统会对用户的安装语言、监视器以及显卡进行检测,并且只安装用户需要的.appx程序包。其他的.appx程序包不会被下载和安装。这样可以节约时间和硬盘空间。

你可以随时对资源和应用进行修改,并使用“创建应用程序包”向导创建一个.appxbundle程序包文件的新版本。然后,你可以将这个程序包文件的新版本上传至Windows应用商店。大约每天一次,用户的PC会对Windows应用商店进行检查,以查看是否存在捆绑程序包文件的新版本,如果存在新版本,PC会下载被修改的所有块。(回忆一下前一节中对块映射的讨论。)这一功能使每个用户PC上的程序包中与该用户有关的部分能够保持最新。

另外,用户可能会在将来某一天安装其他语言、更换监视器,或者升级显卡。在发生改变的一天之间,系统就会检测到这些变化,并自动地对此时捆绑程序包中与用户相关的所有.appx资源程序包进行安装,同时将与用户不再相关的所有.appx程序包卸载。用户可以通过进入应用商店应用的“设置”(Settings)超级按钮>“添加更新”(App Updates)窗格并单击“检查更新”(Check For Updates)按钮,强制进行更新。

包含代码的.appx主程序包必须内嵌有完整的资源。也即,在.appx资源程序包中,不能有任何不包含在主程序包中的资源。其原因是显然的:如果你在德语语言程序包中拥有某资源,未安装该德语语言程序包的用户将无法成功运行该应用。当无法获取特定的资源时,主程序包(一个程序包对应于一种CPU体系结构)必须拥有一组回退资源。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站