在VMware中安装Windows Phone SDK 8.0图文教程
相信很多开发者目前的系统还是win7或mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到vmware这类的虚拟机来模拟预期的开发环境。在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲的内容适用于此环境。
安装的是英文版sdk,但是最后安装完成后提示的是中文!!!
另外如果我们电脑太老,可能安装sdk后,报出“cpu不支持虚拟化”的错误,此时虽然开发工具可以正常安装,但是无法使用windows phone 8模拟器进行调试程序了,只能用真机调试。
windows phone 8 可向应用开发人员提供大量新增和更新功能,包括本地游戏开发、windows 运行时 的手机特定版本和新内核。我们编写了此介绍以帮助您了解 windows phone 8 和 windows phone sdk 8.0 中的新增和更新功能。对于您拥有的 sdk 中的工具,我们感到非常自豪。这些工具能够帮助您创建让用户更有理由喜爱他们的 windows phone 的 windows phone 应用。
前期准备
1.“计算机”右键“属性”查看自己电脑安装的windows 8系统的版本,以及电脑内存是不是4g或4g以上。
注:必须是windows 8专业版以上的系统。
软件环境:
windows 7 旗舰版 (x64)、vmware workstation 10,硬件环境:xeon cpu e3 1230 (4核)。
简介
想要安装 windows phone sdk 8.0,64位处理器、4g 内存、windows 8 64位操作系统(任意版本)是必须要满足的基本条件,开发完后可以使用在微软开发者中心注册过的 windows phone 8手机进行调试。如果想要使用 windows phone 模拟器直接调试,那么cpu还必须支持二级地址转换(slat,second level address translation)、操作系统必须是专业版或更高的版本。
准备环境
按照上面讲的要求进行自检。
同时检查是否支持slat
在微软官方下载coreinfo(地址见文末)并解压,然后用管理员身份运行命令提示符(开始菜单->所有程序->附件->命令提示符->右键“以管理员身份运行”)。
并在命令提示符中输入 “coreinfo安装路径\coreinfo.exe -v”。intel的处理器,显示为ept(extended page tables)。amd处理器,显示为npt(nested page tables)或rvi(rapid virtualization indexing)。如果cpu支持slat,那么你会看见“ept *”的字样,否则看到的是“ept -”。
在vmware中新建虚拟机
使用自定义安装,除了个别的需要根据下面图片所示进行设置外,其余一路默认安装就可以了。
选择windows 8 x64系统
至少选择2个cpu
至少4g的内存
在启动虚拟机前,设置cpu的虚拟化引擎为 “intel vt-x/ept 或 amd-v/rvi”,同时让cd/dvd指向windows 8 专业版或更高版的iso文件。
安装windows 8 x64 pro
检查此系统的hyper-v是否已经安装
使用“win +x”快捷键呼出“程序和功能”面板,选择“启用或关闭 windows 功能”,可以看见hyper-v平台选项为灰色,鼠标移上去显示“无法安装hyper-v, 某个虚拟机监控程序正在运行”。
我们先不去理会这个问题,直接进入下一步。
下载安装windows phone sdk 8.0
windows phone software development kit (sdk) 8.0 向您提供为 windows phone 8 和 windows phone 7.5 开发应用和游戏所需的工具。
在官方下载页面下载sdk后安装,因为我下载的是iso版本,该版本貌似md5校验码有问题,所以在安装完后会提示“visual c++ 2012 x64 debug runtime 无法找到元素”。不过不影响我开发windows phone app,也就没去细究。
提示hyper-v已经启用
根据要求重启后,完成安装
安装成功,并提示hyper-v也安装成功,我们再看一下系统的hyper-v选项,发现已经全部安装好了。
运行visual studio
官网申请序列号
在运行visual studio express 2012 for windows phone的时候,会要求输入序列号,这个只需要点击旁边的“在线注册”字样注册就可以收到带有序列号的邮件。
新建第一个windows phone 8 app
选择windows phone app项目模板
选择目标系统为windows phone os 8.0
选择模拟器(emulator wvga 512m),点击运行
使用windows phone模拟器运行,提示“the windows phone emulator wasn't able to create the virtual machine. generic failure”。
下面将通过修改vmx文件来解决这个问题。
修改vmx文件
vmx是vmware的配置文件。先关闭当前的虚拟机,然后进入刚创建的虚拟机所对应的目录,找到“.vmx”结尾的文件,使用记事本或其它编辑器工具打开,在文件末加入下列语句:
vmx文件
hypervisor.cpuid.v0 = "false"mce.enable = "true"
hyper-v会检查当前是否运行在虚拟机里,只有当不是的时候才会正常运行。hypervisor.cpuid.v0 = "false" 这句话就是为了绕过这个检查。
保存后,重新打开虚拟机。这次运行项目时,会提示“do you want to configure the emulator to connect to the internet?”,意思就是网络连接丢失,我们选择“yes”,让模拟器配置网络连接。
现在你已经可以正常运行windows phone 模拟器了。cheers!
这个过程有点长,耐心等待一会儿
这就是刚刚创建的应用
回过头来,看一下网络连接面板,会发现多了些奇怪的连接。这些就是hyper-v创建的虚拟交换机连接。
如果禁用了其中的 vethernet(internal ethernet port windows phone emulator internal),就会导致运行模拟器时提示“the emulator couldn't determin the host ip address, which is used to communicate with the guest virtual machine”。因此,该连接对于运行模拟器来说是必须的。
其它问题
如果发些自己还是启动不了模拟器,请检查下自己的hyper-v交换机是否已经建立。交换机配置中至少包含“windows phone emulator internal switch”这个交换机。
hyper-v 管理器
正常的hyper-v 管理器
正常的虚拟交换机管理器
如果没有找到这个虚拟交换机,也不用心急。通过“新建虚拟网络交换机”这个选项,输入“windows phone emulator internal switch”,选择“内部”就可以自己建立一个了,效果是一样的。
windows sdk 8.0 下载地址,iso地址可在该页面内找到
快速问答
1. 为什么要x64位?
因为hyper-v只能在64位处理器下工作
2. 为什么要支持slat?
因为hyper-v需要用到它来提高虚拟地址和物理地址转换的效率。
3. 为什么要使用hyper-v?
因为windows phone 8 模拟器需要运行在hyper-v上。
4. 什么是hype-v?
windows 8 的虚拟化技术。