VMware Fusion 3.1 - Slow Windows Phone Emulator - windows-phone-7

I'm working on a new Windows Phone 7 project. Unfortunately, I have only access to a VMware Fusion instance of Windows, from where I run Visual Studio and the Phone Emulator.
My problem is that the phone emulator takes ages (well, seconds) just to show up for example the keyboard for user input (when selecting a TextBox).
I've read here that the problem comes from running a VM inside a VM.
My question is, if there is a trick which helps me to accelerate this somehow?
Thank you very much.
Cheers
EDIT:
Host machine: C2D 2.53Ghz, 4GB DDR3 RAM, SF-1200 SSD

I hate to say it, but the best solution is probably "don't run the emulator on a virtual machine". The emulator is only officially supported on a real physical machine.
Other than that, you will need to max out the resources available to the VM.
You're lucky you haven't ripped a hole in the fabric of spacetime by running an emulator on an emulator :)
See also: Windows Phone 7 emulator on a VM?, or Windows Mobile 7 Emulator Kills VMware

Related

Windows Phone Emulator loses connection

I am running Windows 10 Education from a Macbook Pro, 2,7 GHz Intel Core i5, 8GB ram running OS X 10.11 using Parallels Desktop 11.
I have spend the last two days trying to get Visual Studio 2015 to run the Windows phone emulators properly (More precisely: Mobile Emulator 10.0.10240.0 WVGA 4 inch 512MB). Managed to solve most, but now stuck with the emulator being very unreliable mainly giving me the following errors:
The connection to 169.254.17.107:8117 has been lost. Debugging will be aborted.
or
The emulator couldn't determine the host IP address, which is used to communicate with the guest virtual machine.
Some functionality may be disabled.
I can't find a pattern because sometimes it happens while the application is deploying - sometimes after it has loaded perfectly and I was able to use the emulator. Every now and then, after getting an error, I simply run the application again right away and it will work ok, until next time i need to run it.
The virtual switch in Hyper-V is set to Interal and I have also tried External and Private.
I have tried setting the MAC type to static for the network adapter under settings in Hyper-V.
Tried deleting the emulators and all virtual switches.
Tried disabling and enabling the virtual switch in Network Sharing.
Some of the guides and posts elsewhere about similar problems are a bit outdated (Running Windows 8 and Parallels 8 ect.) Can anyone help me make the emulators work every time with my setup?

Unable to create the virtual machine

I was so happy today that I have been finally able to install Windows Phone 8 SDK and try it a bit. I installed fresh new installation of Windows 8 Pro into my virtual machine (I am running if from Parallels) and then installed Windows Phone 8 SDK.
Everything went smooth, Visual Studio Express is installed and running, but when I created new project and tried to deploy it, VS fails with really weird message.
First of all, message box informing that "The Windows Phone Emulator wasn't able to create the virtual machine: Generic failure" appears. Really informing, really professional - generic error, that's really good. Then the information that deployment failed appears (thanks a lot for keeping me informed about that, I didn't noticed that it crashed completely). And then in the Error List, there is an information about "Invalid pointer" - even better. No clue at all about what failed or what's wrong.
Can anybody help me with that? There is nothing on the internet about this topic so far and I don't know where the problem is. I scanned the Windows events and logs, but there is nothing (probably I haven't been searching properly, so please guide me through that if you can).
Anybody can help?
The Windows Phone 8 emulator requires hardware Hyper-V support. In particular, it requires second-level address translation, hardware assisted virtualization, and hardware DEP support enabled and to not be ran in a hypervisor(no nesting). If you bought your machine within the past 4 years you should have no problem with these requirements. You can check out this article to see more information about that and how to find if your PC supports it.
Because of these hardware requirements, this means you can't run the phone emulator inside of most virtualization technologies... With one exception: I've been using VMWare 9 which appears to include an "unsupported" feature to allow Hyper-V to work though.. So your only choice for running the phone emulator is to either buy VMWare 9 (or 8 with more configuration) or upgrade a physical machine to Windows 8
The unsupported way VMWare allows you to run Hyper-V inside of a VM is that there is a manual option (hypervisor.cpuid.v0 = “FALSE”) which basically tells VMWare not to report to the virtual machine that it's running in a VM. Hyper-V checks if it's running in a VM and won't work if it is, so this gets Hyper-V to work past that check. I personally have tested this whole nested-VM thing with the Phone emulator(including before public release), and other than being quite slow, it does work pretty well with no immediate crashes or anything.
There is a workaround for VMWare Workstation 8 as well in an answer below. However, 9 is much easier to configure, so if you have it use this method.
I ran into the same issue and I fixed it by enabling Hypervisor applications in this virtual machine and adding the following line to the .vmx file:
hypervisor.cpuid.v0 = "FALSE"
This got the emulator working just fine. I found this answer here.
Hope this helps.
Actually, it works quite nicely with VMware Fusion 5.0.1
All I had to do is to add to the .vmx file of the virtual machine the following lines:
hypervisor.cpuid.v0 = “FALSE”
vhv.enable = "true"
Save and restart VMWARE (obviously the VM must be stopped before the changes are made)
I'm right now debugging a test app from VS2012 using the emaulator inside a VM in my Macbook
I'm a happy camper
:-)
I posted the same question on Parallels forum.
Reply:
The emulator is actually a virtual machine, so we are talking about a vm inside a vm, this requires support for nested Hyper-V, which afaik is planned but not implemented yet, also VMWare Fusion already supports this, if you are so desperate.
————-
See Parallels forum post: http://forum.parallels.com/showthread.php?p=646448#post646448
This works for me
Set RAM to 4g
Set at least 2 cores
add to vmx file.
vhv.enable = "TRUE"
hypervisor.cpuid.v0="FALSE"
Goot article
http://social.msdn.microsoft.com/Forums/en-US/wptools/thread/ed72010c-321c-4667-97b2-3ff1540e7f87/
You need SLAT compatible hardware to run Hyper-V, which is a requirement for using the emulator.
Can you clarify what kind of hardware you're attempting to run this on, and if you have enabled Virtualization in your BIOS settings?
The "Invalid pointer" error just means it cannot connect to the emulator (and/or device).
Just as an addition to https://stackoverflow.com/a/13163762/1964969 (top answer at the moment):
manually appending "hypervisor.cpuid.v0" key works for VmWare Player 5 as well (the main reason - this software is free for non-commercial use so it's perfect product if you test the waters, just download from VmWare website and install, it's fully-functional).
Slightly unexpected, any of the following amends solve the problem with WP8 emulator:
hypervisor.cpuid.v0="FALSE"
hypervisor.cpuid.v0="TRUE"
hypervisor.cpuid.v0=""
Yeah, you can apply empty value for that key - but why? Have no idea but it works. I did some notes in my blog as well:
http://windowsasusual.blogspot.ru/2013/01/how-to-launch-windows-phone-8-emulator.html
Under Parallels Desktop 8 follow this guide: http://kb.parallels.com/en/115211
Edit:
Oh, I didn't noticed that you are trying to run emulator on VM. My answer is for non-VM environment.
First of all, you need to check hardware requirement at here
Be careful, successful installation of SDK does not guarantee "your hardware is compatible"
If your hardware is compatible and Hyper-V is running(described in the link above), please check your BIOS and be sure to enable hardware virtualization in CPU Configuration
(for me, I could find it at Booting > BIOS > Advanced > Advanced > CPU Configuration)
Brief summary:
64bit CPU and OS
4GB RAM
Hardware-assisted virtualization supported CPU
Second Level Address Translation (SLAT) supported hardware
Hardware-based Data Execution Prevention (DEP) supported hardware
Proper BIOS settings
For me the solution adding line:
hypervisor.cpuid.v0 = "FALSE"
I use VMware Player and added the line (hypervisor.cpuid.v0 = "FALSE")in the .vmx file.
My virtual machine with Windows 8 Pro runs the emulator for Windows Phone 8 perfectly.
Solved the problem by uninstalling an older VPN client from the machine. It turns out some VPN clients might have compatibility issues with Windows 8. After uninstalling VPN client I was able to run the emulator without issues (of course after making sure Hyper-V was installed and enabled on the machine)
Not enough rep. to comment on the accepted answer, but Microsoft provide instructions specifically for Fusion here. It worked for me, after a couple of reboots of both Mac and VM. I installed W8.1 without Hyper-V support initially and had to install it after the fact ("Turn Windows Features On or Off" in Control Panel), but apart from that no problems. Quite speedy on a 16Gb 2013 MBP.

Is there anyway for me to create windows 8 apps(for PC and Mobile devices) on mac

I use Mac OSX. I now want to try and develop an app on windows 8 for the Imagine Cup.
But i dont want to switch back to windows.
Is there any way to develop apps for windows 8 from mac?
Preferably free option....
The only available way is to use Virtual Machine because one cannot develop Windows 8 Modern UI app(Windows Store app) even with lower version of windows than windows 8. There are many virtual machines are available for free. Virtualbox maybe a good start.
www.techspot.com/guides/503-windows-8-virtual-machine ,A Tutorial to create vm of windows 8.
Assuming that windows phone is the platform you chose to develop app, again you need windows to create windows phone app.
Kick start your windows phone app development here .
I actually use VMWare on a Mac to do all of my Win32 development on Windows 7 and VS2010.
You will need:
a powerful mac (i7)
lots of RAM (I have 8G, I wish I had 16G)
a 7200rpm HDD or SSD.
With that, it's really great for me. I've been doing this for a few months now without a single kernel panic or blue screen at all.
Note: You cannot really develop for WP7 using this sort of configuration. The WP7 simulator uses VirtualBox, which either runs extremely slowly or not at all in other VMs, based on our experience. Will need a real Windows machine for that ^_^
It's a workable scenario. Good luck!

Windows phone emulator

I want to develop app for windows phone but I got a big problem, my laptop can't run the emulator, after checking the requirements I know that my vga driver doesn't support it. My question is, are there any alternative for windows phone emulator instead of the officially one from Microsoft? Or any other way to tweak it to be run on my laptop? Thanks
From my understanding there isn't any other windows phone emulators. If you can get a hold of a windows phone 7 it would be possible to test on that. You can try to contact a Microsoft windows phone evangelist in your area, the one in my area helped me get a phone to test on.
I am not sure about tweakinging your laptop to get the emulator to work. Is your vga driver up to date? If not maybe try to update it. I know it takes quite a bit of computer power to run the emulator smoothly.
If you wanted you can try to register for a virtual lab, here you remote into a windows machine and are able to build and test on the remote machine, but it is time limted and is usually for a class to learn about it. https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&EventID=1032485600&amp%3bculture=en-US

Windows7 on virtual pc

I would like to check out Windows7 and install all of my developer programs on it just to test if everything works fine. In the mean time I want to continue my work on my Vista os. Is it possible, using Virtual PC, to install Windows7 and afterwards replacing my Vista installation with this Virtual PC Windows 7?
Take a look at using a bootable VHD. I have one with Windows 7 and use this as my "playground" for testing things like VS2010 Beta 2, Office 2010, etc. The VHD is a single file so it's portable and the performance hit for the virtualization is minimal.
Instead of running a Windows 7 VPC inside Virtual PC inside Vista, you are booting into a Windows 7 VPC - no Vista. works great for multi-booting. Once you're ready to move to Windows 7 as your primary OS, you can still use it in a VHD.
This link may help out...
http://4sysops.com/archives/how-to-add-a-windows-7-vhd-to-vistas-boot-manager-menu/
In theory, yes. Back up the virtual image, then restore it to your hard drive.
In practice you may find issues with drivers, specifically video, as effectively you're moving a Windows image from one "computer" to another.
You'll also need to make sure that the Windows license comes over properly - best to not activate it while it's virtual.
If it were my box I'd probably want to do this to a fresh hard drive, so I can fall back to Vista if all goes wrong. So rather than virtualize, I'd just buy a new hard drive and use that for Windows 7 straight away.
Have you considered dual-booting?
Also: Windows 7 was designed to be compatible like Windows Vista, unlike how Vista was sometimes incompatible with XP. You probably shouldn't have any problems with compatibility.

Resources