EDIT: This post was updated on 6/12/2008 for clarity.
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 and Windows Mobile 6 emulators without having to install the development tools.
Installing Windows Mobile 5 + MSFP:
- In order to install the WM5+MSFP standalone emulator pack (efp.msi) you need to install Virtual PC 2007 or Virtual Server 2005 R2, since the stand-alone Virtual Machine Network Driver has been removed from Microsoft.com, and efp.msi requires it:
- Virtual PC 2007
- Virtual Server 2005 R2 SP1
- Download efp.msi & V1Emulator.zip files from here.
- Install the standalone emulator by running standalone_emulator_V1.exe from V1Emulator.zip.
- Install the WM5+MSFP Emulators by running efp.msi.
You now have the Windows Mobile 5+MSFP SmartPhone & PocketPC emulators in your Start Menu under Programs\Microsoft Windows Mobile 5.0 MSFP Emulator Images
Installing Windows Mobile 6 & 6.1 images:
1. Make sure you've run through the steps for "Windows Mobile 5+MSFP" above.
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
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 per my tests, although there is a link explaining why this error may be happening on either page above.
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.
Upgrade Device Emulator 1.0 to 2.0, then to 3.0
Note: Though this section is technically optional for those running Windows XP, however you must upgrade to at least 2.0 in order to run under Windows Vista.
1. Run the standalone release of Microsoft Device Emulator 2.0 by following the instructions and running vs_emulator.exe (plus vs_emulator-x64Addon.exe for 64 bit machines) from here. This upgrades 1.0 to 2.0.
2. Run the standalone release of Microsoft Device Emulator 3.0 by following the instructions & running either vs_emulator.exe (32bit) or vs_emulator_x64_vista.exe (64bit) from here. This upgrades 2.0 to 3.0.
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:
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 5 SmartPhone or Windows Mobile 6 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.
- Ethan McConnell