This page aims to hold information on setting up a development environment for people who want to develop software for Windows Mobile.
The following information is taken from here as of 9/1/2007
How do I develop applications for Windows Mobile powered devices?
Visual Studio 2005 is the recommended tool for Windows Mobile application development.
You should consider the application requirements and target devices when choosing when to use native, managed, or server-side code:
- Use native code for high performance, if you need direct hardware access, or if you require the smallest footprint. For native development, use Visual C++ to access Windows Mobile's native APIs, as well as the Win32, ATL, and MFC frameworks.
- Use managed code with the .NET Compact Framework for user interface-centric applications that require fast time-to-market or rapid application development. You should also use managed code if you want easy access to Web services or data held in SQL Server or SQL Server Compact Edition. With .NET Compact Framework, you can use Visual Basic .NET or C# to access a healthy subset of the .NET Framework libraries. Windows Mobile 6 ships with the .NET Compact Framework 2.0 in ROM.
- Use server-side code for targeting a wide variety of devices with a single code base and where there is guaranteed data bandwidth to the device. With ASP.NET, you can easily build browser-based Web applications that support multiple Web browsers, mark-up languages, and screen sizes/resolutions.
Whether you are developing using native, managed, or server-side code, Visual Studio 2005 is the single tool for Windows Mobile 2003, Windows Mobile 2003 Second Edition, Windows Mobile 5.0 and Windows Mobile 6 application development.
Visual Studio 2005 includes the SDKs and emulator images for Windows Mobile 2003 and Windows Mobile 2003 Second Edition. To target Windows Mobile 5.0 and 6, you need to download and install the Windows Mobile 6 Professional SDK and the Windows Mobile 6 Standard SDK, which also include the emulator images.
See the Tools page and [http://msdn2.microsoft.com/en-us/windowsmobile/bb264342.aspx this whitepaper for more info.
If you need to support older versions of Windows Mobile, such as Pocket PC 2002, Smartphone 2002, and Pocket PC 2000, you can use eMbedded Visual Tools.
Microsoft offers a learning course for Windows Mobile 6 Application Development known as "Ramp Up". See here for further details.
Windows Mobile Developer Center is the main Microsoft portal for Windows Mobile Development.
- Microsoft Visual Studio 2005, the Standard version or higher. (please don't pirate)
- Windows Mobile 5.0 Developer Resource Kit (downloadable for free from microsoft, circa 900MB). It contains various tools and both the PPC and Smartphone SDKs in it, and it can also be used to develop for 2003/SE too. The SDKs can also be downloaded separately, but unlike the DRK they appear to require Windows Genuine Advantage validation.
- Note: The CDs have been back-ordered for months (as of July 5, 2006), so don't bother trying to order them
Unfortunately, the SDKs are not installable with Visual Studio Express (the Free Visual Studio Microsoft is distributing). I have tried. Maybe someone found a way to shoehorn it on VSExpress? It would be great to have a free development environment...
If you want to develop for Windows Mobile 2002 / 2003 / SE or willing to put in a little extra work in creating WM5 programs Microsoft has free tools for you:
- eMbedded Visual Tools - comes complete with eVB, and eVC 3 for C++ and visual basic development. Unfortunately it cannot connect directly to any device above 2002, so you can't debug with it, but the apps will run on all systems 2002 - 2005.
- eMbedded Visual C (eVC) 4 - This can connect directly to WM2003 devices, and with service pack 4 (also free from Microsoft, can connect to WM5 devices as well.
Also I'd like to note that any program compiled with 2002 / 2003 Pocket PC SDK will run on WM5 devices.
- Sharpdevelop is an an opensource IDE for developing .NET Framework v1.0, v2.0 or v3.5 applications in C# or Visual Basic. It is a good alternative to Visual Studio. In addition to the IDE, you will also need (a).NET redistributables and (b) .NET SDKs, both of which are freely downloadable from Microsoft. Links to the appropriate SDK needed from Microsoft are also listed in the download page below.
- For developing .NET 3.5 Compact Framework applications with SharpDevelop, you will also need to install the .NET Compact Framework v3.5 PowerToys from Microsoft from the link -
- GCC (developer's web site is non-existant):
- CeGCC: Cygwin or Linux host cross compiling GCC and tools
- Lazarus (FreePascal):
- Other Miscellaneous tools & libraries (and the source for all of the above)
- SuperWaba freeware & commercial versions. Java-based SDK for PPC/Palm devices
- that plays well with Eclipse for fast development/debugging
- Windows PowerShell provider for SmartPhone, PocketPC and Windows Mobile
- gives access to device's filesystem in a dos-prompt like environment with many commands for copying files to/from device and querying device info.
For more helpful links, please go here: