Windows Phone 7 emulator on a VM?
Asked Answered
C

7

29

It seems that the Windows Phone 7 SDK doesn't support running inside a VM. On Parallels, the entire VM simply crashes when the emulator is starting up.

Around the web, though, a few people have reported that they were able to use it by changing a lot of the VM settings.

What do I have to change to be able to run it? I'm specially interested in Parallels, but VMWare or any other simulator that run on OSX if fine for me!

Carroll answered 20/5, 2010 at 22:27 Comment(2)
Just another thought if Fusion does work is that, last time I checked, it was slow/buggy with WPF application, which is what VS2008 uses.Laceration
KMån: In short, no. XP is dead. It's now over 11 years old. It doesn't support many of the features required by the phone emulator. Time to move on to a more modern version of Windows.Mediaeval
M
21

The WinPhone7 (and WinPhone8) emulator is itself a VM and few (if any) general-purpose VM's will host another VM infrastructure, which is why it crashes Parallels etc.

If you want to have the emulator run from within a different VM to the one MS provides, then you're into the realm of extracting images, toggling bits and trying to tack it into your VM of choice. Of course, the chances of the emulator then working as expected with no residual issues is as close to nil as makes no difference ;)

[Update 2013-01-30] VMWare5 & Parallels Desktop 8 now support running Hyper-V guest VM's. This is particularly useful for those wanting to develop against the Windows Phone 8 SDK which runs Windows Phone 8 guest VM's on Hyper-V.

Here's a guide to how to run Visual Studio 2012 & Windows 8 SDK (inc. the Windows Phone 8 Hyper-V-based emulator) in VMWare5 or Parallels desktop 5: Link

Note: Running Windows & Hyper-V inside a VM will be slower than running natively. Dual-booting into Windows (using Boot Camp on OSX) is stil the recommended method of developing for the Windows platform, especially if you want to use Hyper-V guest VM's.

Mediaeval answered 20/5, 2010 at 22:40 Comment(8)
Is the Windows Phone 7 SDK really a virtualized VM? I would have guessed that it would be a userspace application written to emulate, in software, whatever the underlying hardware architecture might be.Sebaceous
It's actually an x86 virtual machine hosting a VM image comprising of a WinCE 7 x86 kernel with Silverlight, XNA etc. on top and the OS services, apps and UI on top of that. Thus the WinPhone VM runs pretty much at full speed. This is in marked contrast to, for example, WinMobile emulators which were actually ARM emulators which had to interpret ARM code & hardware at runtime. This invariably meant that code running under the ARM emulators were horribly slow and many timing related issues were not found until you ran on real tin!Mediaeval
The Windows Phone emulator was developed by Microsoft's Virtual PC team. There's an interview on Channel9.com about it.Inainability
That explains why it runs so slow.Winonawinonah
Why do you say that the WinPhone7 emulator runs "so slow"? So slow compared to what? Again, in case you missed it, most of your WinPhone7 code is running in a virtualized environment directly on your CPU, not via a run-time translator as in previous WinMo emulators. I don't know for sure, but I am pretty certain that the WinPhone7 VM is gated to try and exhibit the kind of performance you can expect on a real (1GHz Snapdragon) WinPhone7 device.Mediaeval
It does work with no hacks in a Fusion VM, but it is slow, and (curiously) networking is slower still!Corrade
This blog post also details a successful install. blogs.msdn.com/b/bryang/archive/2011/11/10/…Thereinto
Actually, I have used the Android and iPhone simulators, and both the iOS and WP simulators/emulators completely blow away the Android one in terms of performance. I really haven't compared the iOS and WP emulators side-by-side, but both have very good performanceEstival
T
4

I'm working in VMware Fusion with Expression Blend 4 RC AND the emulator. works like a charm!

Theone answered 25/6, 2010 at 6:58 Comment(3)
I'm running VMware Fusion 3.1.0 on a MBP (C2D 2.53Ghz, 4GB RAM, SF-1200 SSD) and developing/using the Windows Phone VM is a PITA.Lacedaemonian
@Theone just checking that you have the dev tools and the emulator running inside VMware, as MS have stated that its not possible at this time. Is there a special config for your VMware instance?Hirschfeld
This solution worked great for me too. Just got to keep the ram and processer high.Lubricator
B
3

As others have said, WP7 is itself a virtual machine. Even if you can get it to run inside a virtual machine like Parallels, the performance will be abysmal. If your computer supports hardware virtualization, the emulator runs really smooth, without it it's very very sluggish. Running it inside another VM will make it even more sluggish - I am guessing to the point that it's unusable.

I know this is not the answer you want to hear, but I would recommend running Windows in Bootcamp, you will have much better experience developing and emulating.

Bide answered 20/5, 2010 at 22:50 Comment(0)
I
1

I'm not so sure about compatibility for long term development, but in last september, I remembering trying the Windows Phone 7.1beta SDK on VirtualBox (I'm using mac SL), a free virtual machine from oracle (previously by Sun) and it works well there.

I just do a regular install of Windows 7 Home Basic (any Win7 except Starter will do, CMIIW) in the VBox with no tweaking at all, install the GuestAddition inside win7 (provided by VBox), then install the SDK. I create new WP project, arrange UI, make some codes as usual, then run it in emulator. Surprisingly, the emulator works fairly well and showing the app I've developed.

I'm not even experience any lag (my macbook is i5, 4GB ram, the VBox setting is dual core, 2GB ram, note that no other heavy mac process is on the run, so I solely run the VBox ... and iTunes for listening musics).

So if you still want to try WP SDK 7.1 on VM, why don't you try VirtualBox? My current VBox is installed with Windows 8 and have no extra space to reinstall the win7+WPSDK. If you do give a try on VBox, please report the result here to inform everyone.

Ignoble answered 11/11, 2011 at 6:55 Comment(0)
E
1

I've run the Android emulator inside a VM before. It was slower, but still usable to test basic apps. Also, the Android emulator was then slow to where you couldn't tell a difference from between native or from within running Eclipse from within a virtual machine running Linux

x86-to-x86 emulation tends to be pretty fast nowadays due to both Intel and AMD CPUs having hardware to help it along. A lot of x86-to-x86 emulation also doesn't do a full emulation (see Android's emulator to see how a full emulator runs in comparison). In the x86-to-x86 case, the faster ones will try to pass as many instructions to the host OS so that a chunk of the code runs natively

People have made claims like 80-95% performance, which is pretty good. If you have a 3.2 GHz CPU, you get knocked down to around a 2.4 GHz equivalent of your CPU. That's not bad at all, and I honestly don't notice that much overhead running in a good x86-to-x86 VM

The biggest reason why the WP emulator has problems with VMs doesn't have to deal with it being a VM-in-a-VM, but it's most likely that it requires DirectX 10. This might have to do with XNA, which is Microsoft's really nifty gaming API that lets you easily port between Windows, WP, and the Xbox 360. A lot of VM programs don't support hardware 3d acceleration

On another note: if you want to use a low-end system, AMD CPUs may fare better since AMD doesn't tend to disable hardware virtualization features in their lower-end CPUs

Estival answered 11/10, 2012 at 13:43 Comment(0)
D
0

If you're deploying to a device, you should be able to use a VM, since it's the emulator that has issues being a VM itself.

Davit answered 4/11, 2010 at 12:22 Comment(0)
E
0

We have successfully deployed, and performance is acceptable in our environment, virtual Windows 8.1 Pro Desktop under VMware vSphere 5.5 (ESXi 5.5), and have the Windows 8 SDK and Emulator working correctly with no performance issues. (In Education - to University Labs for Windows Phone development).

The issue experienced by most, is you most have the Hypervisor pass through the Intel-VT into the VM, to effecticely create Nested Hypervisors. This is possible using VMware vSphere 5.5.

This option is available in virtual machine version 10, enabled in the vSphere Web Client - Enable Hardware Virtualisation.

Evapotranspiration answered 31/12, 2013 at 20:13 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.