如何在VMware中安裝Windows Phone SDK 8.0 (支持模擬器調試)

  相信不少開發者目前的系統仍是Win7或Mac,通常不會爲了開發某個程序而重裝系統,因此咱們就須要用到VMware這類的虛擬機來模擬預期的開發環境。在開始介紹前,給你們說明下我當前的軟硬件環境,本文所講的內容適用於此環境。windows

  軟件環境:Windows 7 旗艦版 (x64)、VMware Workstation 10,硬件環境:Xeon CPU E3 1230 (4核)。api

 

 

 

簡介

  想要安裝 Windows Phone SDK 8.0,64位處理器、4G 內存、Windows 8 64位操做系統(任意版本)是必需要知足的基本條件,開發完後可使用在微軟開發者中心註冊過的 Windows Phone 8手機進行調試。若是想要使用 Windows Phone 模擬器直接調試,那麼CPU還必須支持二級地址轉換(SLAT,Second Level Address Translation)、操做系統必須是專業版或更高的版本。網絡

 

準備環境

  按照上面講的要求進行自檢。編輯器

 

  同時檢查是否支持SLAT工具

  在微軟官方下載Coreinfo(地址見文末)並解壓,而後用管理員身份運行命令提示符(開始菜單->全部程序->附件->命令提示符->右鍵「以管理員身份運行」)。ui

並在命令提示符中輸入 「Coreinfo安裝路徑\Coreinfo.exe -v」。intel的處理器,顯示爲EPT(Extended Page Tables)。AMD處理器,顯示爲NPT(Nested Page Tables)或RVI(Rapid Virtualization Indexing)。若是CPU支持SLAT,那麼你會看見「EPT *」的字樣,不然看到的是「EPT -」。spa

 

在VMware中新建虛擬機

  使用自定義安裝,除了個別的須要根據下面圖片所示進行設置外,其他一路默認安裝就能夠了。操作系統

 

選擇windows 8 x64系統3d

 

至少選擇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

  在官方下載頁面下載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」,選擇「內部」就能夠本身創建一個了,效果是同樣的。

 

快速問答

  1. 爲何要x64位?

  由於Hyper-V只能在64位處理器下工做

 

  2. 爲何要支持SLAT?

  由於Hyper-V須要用到它來提升虛擬地址和物理地址轉換的效率。

 

  3. 爲何要使用Hyper-V?

  由於Windows Phone 8 模擬器須要運行在Hyper-V上。

 

  4. 什麼是Hype-V?

  Windows 8 的虛擬化技術。

 

參考資源

      Windows SDK 8.0 下載地址,ISO地址可在該頁面內找到

      CoreInfo

      Windows Phone 模擬器的系統要求

      Windows Phone 8 模擬器疑難解答

      如何爲 Windows Phone 模擬器啓用 Hyper-V

相關文章
相關標籤/搜索