EDIT: Post updated on 8/28/2009.

On the Exchange Client Server Infrastructure (XCSI) support team we use Windows Mobile emulators on a daily basis to troubleshoot customer issues.  One thing I'm often asked is how to install them.  The directions have never been clearly listed online (unless you're developing for the Windows Mobile platform since they come with the development tools) so it can take a lot of searching to pull all the required bits of information to finally get it installed.  I wrote the following directions to help my colleagues to quickly install and run Windows Mobile 5+MSFP or Windows Mobile 6 (and above) emulators without having to install the development tools. I'm blogging this to help anyone else interested in installing Windows Mobile Emulator.

Installing Microsoft Device Emulator

1. In order to install any of the emulator packages below you must have Virtual PC 2007 or Virtual Server 2005 R2 installed. Previously you could install the stand alone Virtual Machine Network Driver however that has been removed from Microsoft.com:

  1. Virtual PC 2007
  2. Virtual Server 2005 R2 SP1

Notes if running on a Windows Server 2008 host:

  • If you are running the emulator from a Windows Server 2008 Hyper-V environment you will have to install Virtual PC 2007, but DO NOT run the Virtual PC 2007 applications.  During installation on Windows Server 2008 you may receive a warning that you are not running on a supported operating system.  This can be safely ignored as you will never use Virtual PC 2007 on the server.
  • For each NIC you want the emulator to communicate over: make sure that "Virtual Machine Network Services" is checked in the properties.

Note if running on Windows 7: There is a special method to get the special Virtual PC 2007 network driver installed. Brian Peek documents this in his blog here: Windows Virtual PC and the Microsoft Device Emulator. All the steps below would still apply.

2. Download V1Emulator.zip from here & install the standalone emulator by running standalone_emulator_V1.exe from V1Emulator.zip.

3. Upgrade to Microsoft Device Emulator 3.0 by following the instructions & running either vs_emulator.exe (32bit) or vs_emulator_x64_vista.exe (64bit) from here.

4. Verify you have .NET Framework 2.0 installed.

Installing Windows Mobile 5 + MSFP

1. Make sure you've run through the steps listed above under Installing Microsoft Device Emulator.

2. Download and run efp.msi from here.

Installing & running Windows Mobile 6 or newer images

1. Make sure you've run through the steps listed above under Installing Microsoft Device Emulator.

2. Download your desired type & language/localization version of the Windows Mobile 6 Emulator Images from (you can install both):

Windows Mobile 6
Windows Mobile 6.1
Windows Mobile 6.1.4 (has IE6)
Windows Mobile 6.5

Note: Professional = PocketPC format (touch screen) / Standard = SmartPhone format (no touch screen)

3. Run the downloaded MSI file(s) from above.  Note: you may receive an error regarding not having Visual Studio 2005 installed.  This error can be safely ignored.

4. You now have a directory called "Windows Mobile 6 SDK" off your Start Menu > All Programs folder.  Under that directory is a "Standalone Emulator Images" folder with "US English" underneath (your localized version may be different).  In that folder are your emulator images just like the WM5+MSFP install above.  You can modify these shortcuts if you like, but I recommend copying them to another folder before modifying, or better yet: copy to your desktop & make modifications to the shortcuts on your desktop.

Tips to optimize your emulators

1. The emulators take up a lot of resources and may run faster if you give them more memory.  To do this, modify the "Target" line in the shortcuts: change 128 to 256 or any higher number.  Remember, this is how much physical memory is dedicated to the emulator, so adjust accordingly to your system's resources.

Sample: "C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe" pocketpc.nb0 /memsize 256 /skin Pocket_PC.xml /vmid {f1b1af09-969d-4035-8223-b800c75f451f} /s pocketpc.dess /p /funckey 193

2. To get the emulator to communicate with the Loopback Adapter NIC (best if communicating with your virtual environments in Virtual PC / Virtual Server), add "/p 02004C4F4F50" to the end of the shortcut.  You don't have to put the MAC address here if you want to use the emulator with your default Network adapter to connect to the Internet or corporate network.  Accordingly, if you have multiple NIC's you can specify which one you would like to you use by using that NIC's MAC address (without the dashes) as we do here with the Loopback Adapter.

Sample: "C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe" pocketpc.nb0 /memsize 128 /skin Pocket_PC.xml /vmid {f1b1af09-969d-4035-8223-b800c75f451f} /s pocketpc.dess /p 02004C4F4F50 /funckey 193

3. The emulator's NIC is set to get its IP address via DHCP.  If you have a DHCP server on the connected network then you don't have to worry about assigning an IP address.  If the emulator is connecting to a network without a DHCP server you will have to manually assign an IP address.  This is done by doing the following from the emulator:

  1. Start > Settings > Connections tab > Network Cards
  2. Click NE2000 Compatible Ethernet Driver
  3. From here you can set the IP address information from DHCP to static IP addresses.  Here is what this screen looks like:

Don't forget to set your DNS/WINS server information on the "Name Servers" tab.

Configuring the device to communicate via the network adapter

Verify the emulator is communicating with a NIC by going to the emulator "wrapper" and selecting File > Configure > Network tab. Verify "Enable NE2000 PCMCIA network adapter and bind to:" is checked and a network adapter is selected. Example:

Now follow the below steps for PocketPC/Professional or SmartPhone/Standard below:

Proxy on your network - Windows Mobile 5 PocketPC or Windows Mobile 6 Professional:

By default the emulated device will not be configured to talk to the configured NIC.  Do the following to correct this:

1. Go to Start > Settings > Connections tab > Connections > Advanced tab > Select Networks.

2. Under "Programs that automatically connect to the Internet should connect using:" select "My Work Network".

3. This final step is only if the emulator is on a network with a proxy server and you want it to use the proxy server to communicate with the Internet: Click Edit > Proxy Settings tab > Check "This network connects to the Internet" & "This network uses a proxy server to connect to the Internet", then populate the "Proxy server:" field with your local proxy server as shown in this example:

Windows Mobile Professional:

Note: these steps are for Windows Mobile 6 (or newer) Professional. I did not get a chance to test with Windows Mobile 5. The steps should be similar.

By default the emulated device will not be configured to talk to the configured NIC, and in some cases you may not have a Proxy on your network. To get the emulator to communicate as if it were a phone then do the following when the emulator detects the network connection (you will see an antenna icon):

Click on it and choose to connect to The Internet > Connect.

Go to Start > Settings > Connections >

Windows Mobile SmartPhone or Windows Mobile Standard:

Note: these steps are for Windows Mobile 6 Standard. I did not get a chance to test with Windows Mobile 5 SmartPhone. The steps should be similar.

By default the emulated device will not be configured to talk to the configured NIC. Do the following to correct this:

1. Go to Start > Settings > Connections > GPRS > New...

2. You'll get the following screen. Description can be anything. I have "LAN" here, but I select "The Internet" under "Connects to:". No other settings need be set if you're on a DHCP network (if not, you can set IP information if you scroll down the screen). Click Done when complete.

3. This final step is only if the emulator needs to use a Proxy server to communicate with the Internet. Navigate to Start > Settings > Connections > Proxy. Select "New...". You'll get the following screen. Description can be anything. I have "Proxy" here. Note the settings as they are in the screenshot below. If you need to enter a username, etc. for the proxy, just scroll down. Click Done when complete.

Docking with "desktop" ActiveSync

You can also doc your device to the desktop ActiveSync in Windows XP. In Windows Vista you will have to run similar directions as below, but use the Windows Mobile Device Manager to change the Connection Settings as shown below.

1. Click Start > Programs > Windows Mobile 6 SDK > Tools > Device Emulator Manager

2. The Device Emulator Manager should now display the running Emulated Windows Mobile 6 under "Others". Right Click the Entry and select "Cradle".

3. Right-click the Mobile Device Center (it may open automatically) or ActiveSync icon from your taskbar and select "Mobile Device Settings" or "Connection Settings".

4. On first run, check the "Allow connections to one of the following", then select "DMA" from the dropdown list and set "This computer is connected to" = "The internet" (automatic not reliable) and click OK (setting is retained)

5. ActiveSync will now attempt to connect to your virtual device that is Emulating Windows Mobile

6. Once the connection has been established you have the ability use the PC's network connection allowing you to browse the Internet/Intranet using your Mobile Browser

- Ethan McConnell

Share this post :