Targeting Windows Mobile 6.5 with Visual Studio 2005

This article outlines how Microsoft Visual Studio 2005 supported legacy application development for Windows Mobile 6.5, an operating system released years after the development environment's debut. By leveraging Service Pack updates, the Windows Mobile 6 Software Development Kits (SDKs), backward-compatible device architectures, and standalone emulation toolkits, developers were able to build, deploy, and debug both native and managed applications for Windows Mobile 6.5 devices using the 2005 IDE.

Required IDE Updates

Visual Studio 2005 did not support Windows Mobile 6.x platforms out of the box, as the initial release targeted Windows Mobile 5.0 and Pocket PC 2003. To enable compatibility, developers had to install:

  • Visual Studio 2005 Service Pack 1 (SP1): This update resolved core compiler and smart-device project system issues.
  • Visual Studio 2005 SP1 Update for Windows Vista: Required for developers running the IDE on Windows Vista or Windows 7 to ensure device connectivity and proper emulator execution.

SDK Installation and Platform Compatibility

Windows Mobile 6.5 is built on the Windows CE 5.2 kernel, maintaining deep binary compatibility with Windows Mobile 6.0 and 5.0. Microsoft supported development through the following SDK setup:

  1. Windows Mobile 6 Professional and Standard SDKs: These SDKs integrated directly into Visual Studio 2005, adding target platform definitions, device templates, header files, and platform libraries for touchscreen (Professional) and non-touchscreen (Standard) devices.
  2. Windows Mobile 6.5 Developer Toolkits: Microsoft released these standalone toolkits as extensions to the WM6 SDK. They provided updated Windows Mobile 6.5 emulator images, gesture and touch APIs, sample code, and screen resolution assets (such as WVGA and square screens) while integrating with the existing Visual Studio 2005 deployment pipeline.

Managed Development: .NET Compact Framework

For C# and Visual Basic developers, Visual Studio 2005 supported Smart Device projects using the .NET Compact Framework (.NET CF) 2.0.

  • Windows Mobile 6.5 devices shipped with .NET CF 2.0 or 3.5 pre-installed in ROM.
  • Applications compiled in Visual Studio 2005 using .NET CF 2.0 ran natively on Windows Mobile 6.5 without modification.
  • To target newer .NET CF 3.5 features, developers typically had to upgrade to Visual Studio 2008, as Visual Studio 2005's project system was strictly tied to .NET CF 2.0 for device targeting. However, .NET CF 2.0 binaries remained fully operational on the newer 6.5 runtime.

Native Development: Visual C++

For high-performance or hardware-level applications, Visual Studio 2005 included native Smart Device compilers targeting the ARMV4I instruction set. Native development worked seamlessly with Windows Mobile 6.5 because:

  • The Windows Mobile 6 SDK provided updated C++ headers and libraries directly compatible with Visual C++ 2005.
  • The Microsoft Foundation Classes (MFC) and Active Template Library (ATL) for Smart Devices allowed compilation of legacy Win32/C++ code that executed directly on the Windows Mobile 6.5 OS.

Deployment and Remote Debugging

Visual Studio 2005 integrated directly with device communication channels to allow one-click deployment and live debugging:

  • Connection Software: Development environments used ActiveSync (on Windows XP) or the Windows Mobile Device Center (WMDC) (on Windows Vista and Windows 7) to bridge communication over USB or serial connections.
  • CoreCon (Core Connectivity): Visual Studio copied remote debugging agents (CoreCon binaries) onto the Windows Mobile 6.5 device or emulator, enabling breakpoints, memory inspection, and stepping through execution just as on desktop applications.
  • Device Emulators: Developers used the Microsoft Device Emulator (version 3.0), which simulated ARM architecture on x86 hardware, allowing rapid testing of the Windows Mobile 6.5 touch-friendly user interface directly from the Visual Studio 2005 toolbar.