日期:2014-05-17  浏览次数:20848 次

【Windows8开发】Metro App生命周期之打包、部署安装与卸载
记得之前刚试用Win 8开发者预览版那会,VS11编译完Metro App工程后,想直接双击exe运行,却弹出个警告框,提示该程序只能结合App容器启动运行。那如何去部署和启动Metro App呢?后来随着对Win 8的了解有了答案。

当我们在VS2012中编译我们的代码并F5执行后,你会发现Metro桌面已经生成了该程序的快捷方式了,VS帮我们一条龙做了程序的编译,安装和部署,之后你也可以在Metro桌面启动该程序。其实这只是VS做的一些有便于开发的额外工作,跟真正Metro程序的安装部署还是有区别的。首先,VS并没有打包Metro程序(何谓打包,后面会说明),其次它并没有把程序安装到系统环境中,你运行的只是你VS工程中编译后的可执行文件。
那实际Metro程序又是怎么执行安装部署等操作的呢?
首先,Metro程序不需要像桌面程序那样制作安装程序(如.msi等),类似Android和ios,MS也推出了windows app store,也就是说开发者需要把应用上传到App Store,经过审核通过,用户则从App Store下载需要的应用程序包来直接安装。这里首先涉及到一个打包的概念,怎么打包Metro程序呢?


上图所示,VS菜单【Project】-【Store】-【Create App Packages】中提供了一种打包程序的功能,其向导中会需要选择是希望创建上传至App Store的程序包还是本地使用的程序包,上传至应用商店的话需要注册一个Windows账户,一步一步跟着做就是了,由于平时更多的还是先部署在本地进行试用或测试,所以以下会着重介绍本地部署的一些操作。通过VS的这个功能打包本地使用的Metro程序后会输出一个应用程序包(路径在打包中会有设置),看一个CSharp程序打包后的文件一览:


然后就可以开始在本地安装这个应用了,如上程序包中有个.ps1的文件,右击该文件,选择Run with PowerShell:


中间可能会需要属于管理员权限用户的密码,根据提示一路Yes后,安装成功: