Duration (Pacific Standard Time):
To (Pacific Standard Time):
Impact:
  • None
User Action:
  • None
Pocket PC (General) Technical Articles

Introduction to Development Tools for Windows Mobile-based Devices

 

Microsoft Corporation

May 2005

Applies to:
   ActiveSync version 4.0
   eMbedded Visual Tools version 3.0 - 2002 Edition
   eMbedded Visual C++ version 4.0 SP4
   eMbedded Visual Basic version 3.0
   ASP.NET
   SQL Server 2000 Windows CE Edition versions 2.0 and 3.0
   SQL Server Mobile Edition
   Visual Studio 2005
   Visual Studio .NET 2003
   .NET Compact Framework versions 1.0, 1.0 SP1, 1.0 SP2, and 2.0
   Windows Mobile version 5.0
   Windows Mobile-based devices
   Windows Mobile 2003 Second Edition software for Pocket PCs
   Windows Mobile 2003 Second Edition software for Smartphones

Summary: This article is a central reference point that describes the tools and supporting technologies for developing applications for Windows Mobile-based devices. This article provides a summary of each tool and the platforms it supports. It also provides an overview of common development scenarios and provides guidance about how you can select the preferred tool and technology to apply to each scenario. (13 printed pages)

Contents

Introduction
Tools for Mobile Application Development
Tools Comparison Charts
Development Scenarios
Conclusion
Appendix A: Recommended Installation Order of Development Tools

Introduction

Since launching the Microsoft Windows CE operating system in 1996 and the Handheld PC version 1.0 product shortly thereafter, Microsoft has helped developers target Windows Mobile-based devices with a selection of powerful and increasingly specialized tools that address specific needs and application tasks. To simplify the Windows Mobile application development experience and improve developer productivity, Microsoft is committed to delivering a single integrated development environment (IDE) and platform that meets all mobile application developer needs across all Windows Mobile-based devices.

With the release of Visual Studio 2005, Microsoft delivers on this commitment by supplying a single IDE for native, managed, and server-side application development that enables targetting Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0 platforms. Developers can target earlier devices by using either eMbedded Visual C++ or Visual Studio .NET 2003 for native and managed code development respectively. Although Microsoft offers different software development kits (SDKs) for building applications for Windows Mobile-based devices, the release of Windows Mobile 5.0 has brought the platforms closer together to facilitate maximum code reuse between the two platforms. To understand more about the similarities and differences between Windows Mobile 5.0 software for Pocket PC and Smartphone, visit the Windows Mobile home page.

This article provides developers with an understanding about the current and future Windows Mobile application development tools. It helps them decide which offerings are most suitable for specific needs, when to use each tool, and what tools they need to get started on their specific type of project. This article also provides information comparing the applicablility of the tools to specific situations.

Tools for Mobile Application Development

The following sections provide an overview of the tools currently available for Windows Mobile-based devices. 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.
  • Use managed code with the .NET Compact Framework for user interface-centric applications that require fast time-to-market or rapid application development. Also use managed code if you want easy access to Web services or data held in SQL Server or SQL Server Mobile Edition.
  • 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.

You should also consider the versions of Windows Mobile:

  • Windows Mobile 5.0
  • Windows Mobile 2003 Second Edition
  • Windows Mobile 2003
  • Windows Mobile Pocket PC 2002 and Smartphone 2002
  • Windows Mobile Pocket PC 2000

When you read the descriptions of the tools, you should consider the context (native, managed, or server-side code) and the versions of Windows Mobile software that you want your applications to target.

Visual Studio 2005 and Smart Device Programmability

Visual Studio 2005 is the recommended tool for Windows Mobile development. Whether you are developing using native or managed code, Visual Studio 2005 is the single tool for Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0 application development.

Visual Studio 2005's Smart Device Programmability features offer the most productive Windows Mobile development environment yet. Visual Studio 2005 integrates the best device development features from previous tools and adds several new features including a new, faster ARM emulator, a faster debugger, new data and UI designers, and multiple-platform support. Developers can target Windows Mobile natively with Visual C++, or they can target the .NET Compact Framework with managed code by using C# or Visual Basic .NET.

Visual Studio 2005 includes support for versions 1.0 and 2.0 of the .NET Compact Framework, which is specifically designed for resource-constrained devices, and easily enables distributed mobile computing in either connected or disconnected scenarios. The extensive class library, which is available through the .NET Compact Framework, allows developers to write applications much faster than by using traditional tools. It also works well for applications that use Web services or use ADO.NET. Developers can use C# or Visual Basic .NET as their programming languages. Visual Studio 2005 includes support for both .NET Compact Framework 1.0 and 2.0.

You should use the .NET Compact Framework for:

  • Developing applications that take advantage of Web services or data in XML.
  • Developing applications that use data held in SQL Server or SQL Server Mobile Edition.
  • Developing applications that must work well in either a connected or disconnected environment.
  • Developing applications by using either Visual Basic .NET or C#.
  • Using the same tools for desktop computer, server, and device programming.
  • Rapidly developing mobile applications.
  • Developing software that provides a reliable and secure environment.
  • Developing applications that users can move to different devices with different CPUs or a variety of Windows versions.

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, you need to download and install the Windows Mobile 5.0 SDK for Pocket PC and the Windows Mobile 5.0 SDK for Smartphone, which also include the emulator images.

You should use Visual Studio 2005 for:

  • Targeting Windows Mobile 2003, Windows Mobile 2003 Second Edition, or Windows Mobile 5.0 with C++ native code.
  • Targeting the .NET Compact Framework 1.0 on Windows Mobile 2003, Windows Mobile 2003 Second Edition, or Windows Mobile 5.0 platforms with C# or Visual Basic .NET managed code.
  • Targeting the .NET Compact Framework 2.0 on the Windows Mobile 5.0-based Pocket PCs and Smartphones with managed C# or Visual Basic .NET managed code.
  • Targeting the .NET Compact Framework 2.0 on Windows Mobile 2003-based Pocket PCs with managed C# or Visual Basic .NET managed code.

For more information, see the Visual Studio Developer Center.

Visual Studio .NET 2003 and Smart Device Programmability

Visual Studio .NET 2003 does not support native code development for Windows Mobile platforms. However, the Smart Device Programmability features of Visual Studio .NET 2003 allow developers to debug the .NET Compact Framework 1.0 applications on Pocket PC 2002, Pocket PC 2000, Windows Mobile-based devices, and Windows Mobile 2003 Second Edition-based devices. The support for Pocket PC 2002 is built in; Windows Mobile 2003 and Windows Mobile 2003 Second Edition require the user to download and install additional SDKs and emulator images. It does not include support for .NET Compact Framework 2.0.

Visual Studio 2005 does not support deploying and debugging Pocket PC 2002 and Pocket PC 2000 applications. Both of these platforms require the developer to install the .NET Compact Framework separately.

You should use Visual Studio .NET 2003 when:

  • You want to build and debug .NET Compact Framework 1.0 applications on Pocket PC 2002.
  • You do not want to target Windows Mobile 5.0.
  • You do not want to use the .NET Compact Framework 2.0.

For more information, see the Visual Studio Developer Center.

eMbedded Visual C++ 4.0 and Native Development

Microsoft eMbedded Visual C++ 4.0 with Service Pack 4 supports native application development for Windows Mobile 2003 and Windows Mobile Second Edition software for devices. However, the release of Visual Studio 2005 provides new features for native code developers that eMbedded Visual C++ 4.0 does not, for example, Intellisense, the new ARM emulator, new versions of MFC and ATL, and improved wizards and design-time user interface.

You should use eMbedded Visual C++ 4.0 with Service Pack 4 when:

  • You do not want to target Windows Mobile 5.0 features in native code.
  • You do not want the improved native development features in Visual Studio 2005.

eMbedded Visual Tools 3.0 and Native Development

Microsoft eMbedded Visual Tools 3.0 supports native application development for Pocket PC 2000, Pocket PC 2002, and Smartphone 2002. The tools provide an entry-level IDE for developers to build mobile applications, including necessary compilers, debugging facilities, and platform documentation. eMbedded Visual Tools 3.0 includes Microsoft eMbedded Visual C++ 3.0 and eMbedded Visual Basic 3.0. Both tools are separate development environments and do not require any other development environments, such as Microsoft Visual Studio or Visual Studio .NET, to run.

To target a Windows Mobile-based device, eMbedded Visual Tools 3.0 requires a platform SDK for the device family you want to target. The 2002 edition of the eMbedded Visual Tools 3.0 includes the SDKs for Pocket PC 2002 and Smartphone 2002.

eMbedded Visual C++ 3.0

The Microsoft eMbedded Visual C++ 3.0 development system offers the native code C++ compiler for Windows Mobile-based development. It can target all devices based on Microsoft Windows CE version 2.11 and version 3.0 if the correct SDK is installed. Software emulators are available for Pocket PC 2002 and Smartphone 2002 devices. When Pocket PC 2002 was released, Microsoft introduced a newer emulator for the Pocket PC 2002 SDK that is closer to a real Windows Mobile-based device. The new emulator runs true Windows CE binaries in a virtual computer shell. The Smartphone 2002, Pocket PC 2003, and Smartphone 2003 SDKs for eMbedded Visual C++ 3.0 also use this emulator.

eMbedded Visual Basic 3.0

Developers cannot use eMbedded Visual Basic to develop applications for Windows Mobile 2002-based Smartphone or Windows Mobile 5.0-based devices. Due to this and other factors, including the strong interest in the development community about Visual Basic .NET, the eMbedded Visual Basic technology has been phased out and replaced by the more powerful Visual Basic .NET language. Microsoft recommends that developers use Visual Basic .NET to create all new Pocket PC applications and use eMbedded Visual Basic for maintaining older applications for legacy devices.

If you want to migrate your eMbedded Visual Basic application to Visual Basic .NET, Microsoft has provided several resources:

You can also use these third-party resources:

You should use eMbedded Visual Tools 3.0 when:

  • You want to natively target Pocket PC 2002 or Smartphone 2002.
  • You need to provide legacy support for eMbedded Visual Basic applications.

ASP.NET Mobile Controls

ASP.NET Mobile Controls complement Smart Device Programmability and the .NET Compact Framework. ASP.NET Mobile Controls extend the .NET Compact Framework and Visual Studio .NET power for building mobile Web applications by enabling ASP.NET to deliver markup to a wide variety of mobile devices. With this approach, developers can use Visual Studio .NET to build a single mobile Web application that automatically adapts its page rendering for a wide variety of devices such as Internet-enabled cell phones, pagers, and personal digital assistants (PDAs), like the Pocket PC. Visual Studio .NET also eases development tasks because it is integrated into the Visual Studio IDE, allowing developers to build mobile Web applications by dragging and dropping controls onto a mobile Web form.

ASP.NET does not install any components on the client device. Instead, it uses server-side logic to adapt the rendering to a specific device's Web browser. It generates Wireless Markup Language (WML), HTML, and compact HTML (cHTML).

In addition to adaptive Web page rendering, ASP.NET offers a rich framework for customization and extensibility, providing an easy means of extending the controls to take advantage of new and different devices that will enter the market. Additionally, ASP.NET lets developers control the rendering for a specific device or class of devices within the same programming model, and allows developers to easily add support for new devices without re-authoring their mobile Web applications.

You should use ASP.NET Mobile Controls for:

  • Supporting a wide range of Web-enabled devices (cell phone, pagers, and PDAs).
  • Supporting different markup languages (WML, cHTML, and HTML).
Note   ASP.NET Mobile Controls do not require any client-side installation. However, the target device must have a client Web browser.

Database Technologies

When choosing a Microsoft database technology, you should consider the data type, access, and synchronization requirements of your Windows Mobile application. You can use the following options to help you make a choice:

  • Choose SQL Server Mobile Edition/SQL Server Windows CE Edition when you want to develop an application quickly; want to easily enable offline data access; want easy, dependable synchronization with a remote SQL Server database; are working with large datasets; or want to access data sets in sophisticated, non-linear ways.
  • Choose EDB/CEDB when you are working in native code and are working with small, non-relational, linear datasets.

SQL Server 2005 Mobile Edition and SQL Server Windows CE Edition

Microsoft SQL Server 2005 Mobile Edition is compact database for rapidly developing applications that extends enterprise data management capabilities to mobile devices. SQL Server 2005 Mobile Edition is the successor to Microsoft SQL Server Windows CE Edition (SQL Server CE) version 2.0. Both versions are powerful tools that make it easy to develop mobile applications by supporting familiar Structured Query Language (SQL) syntax and by providing a development model and API consistent with SQL Server.

The database engine exposes an essential set of relational database features, such as an optimizing query processor and support for transactions and assorted data types, while maintaining a compact footprint that preserves precious system resources. Remote data access and merge replication ensure that data from SQL Server databases is delivered reliably; can be manipulated offline; and can be synchronized later to the server, making SQL Server Mobile and SQL Server CE ideal for mobile and wireless environments.

Both versions are designed to integrate with the .NET Compact Framework through Visual Studio, simplifying database application development for devices. By using the SQL Server CE or SQL Server Mobile Edition data provider to manage code by means of the common language runtime, mobile application developers can build highly extensible applications with offline data management capability for disconnected scenarios.

You should use SQL Server CE or SQL Server Mobile Edition as a complement to your development tools when:

  • Extending enterprise data management capabilities to Windows Mobile–based devices.
  • Developing applications that store and manipulate significant amounts of data on a mobile device.
  • Needing reliable data replication with mobile devices in environments with intermittent connectivity.

SQL Server Mobile Edition includes the largest number of new and improved features in any version of SQL Server CE since the original version, SQL Server CE 1.0. SQL Server Mobile Edition includes enhancements over SQL Server CE 2.0 including:

  • Support for Smartphone devices
  • Integration with SQL Server 2005 and Visual Studio 2005
  • Synchronization enhancements
  • Increased reliability and performance
  • Faster development of mobile applications

You must use the SQL Server Mobile Edition version if you want to target Smartphones or make use of Visual Studio 2005's new data designer features.

For more information about SQL Server CE 2.0, see SQL Server CE. To learn more about SQL Server Mobile Edition's many enhancements over SQL Server CE 2.0, see Introducing SQL Server Mobile Edition.

EDB and CEDB

For small, lightweight, linear datasets, native developers might consider using the EDB or CEDB database technologies that ship In-ROM as part of the Windows Mobile platform. EDB and CEDB are embedded database engines that provide core functionality for a Windows Mobile application. A developer can create an object store (called a volume) that can contain multiple databases. The volume is file-based and therefore can be easily copied or moved.

EDB is an updated and enhanced version of CEDB. EDB replaces CEDB in Windows Mobile 5.0 and includes support for:

  • Transactions
  • Access by multiple users
  • Multiple sort orders, key properties, and databases
  • Enhanced performance, especially on user store devices with larger databases

EDB is function for function the same as CEDB, having the same function names and prototypes. New applications should migrate to EDB because CEDB will not be available in the Windows Mobile 5.0 SDK. Existing CEDB applications will work on Windows Mobile 5.0–based devices; however, they will likely not work on future releases of Windows Mobile.

The article Comparing EDB with Other Databases compares the EDB, CEDB, and SQL Server CE database engines; compares their features; and highlights the data compatibilities among the three.

Tools Comparison Charts

The following tables help provide clarity around the support an compatibility across the variety of tools, technologies, and platforms available when targeting current and legacy Windows Mobile–based devices:

  • Table 1 provides an overview of the capabilities of the different IDEs.
  • Table 2 provides an overview of which tools Windows Mobile versions support the .NET Compact Framework versions 1.0 and 2.0.
  • Table 3 provides an overview of which database technologies are supported by various versions of Windows Mobile.

Table 1. Overview of IDE capabilities

    eMbedded Visual
Tools 3.0
(2002 Edition)

eMbedded
Visual C++ 3.0
eMbedded Visual
Tools 3.0
(2002 Edition)

eMbedded
Visual Basic 3.0




eMbedded Visual C++ 4.0
and SP4




Visual Studio .NET 2003




Visual Studio 2005
Code type Native Code X   X   X
  Interpreted Code   X      
  Managed Code       X X
  Server-side Code       X X
Device SDKs Pocket PC 2000
and
Pocket PC 2002
X X   X  
  Smartphone 2002 X        
  Windows Mobile 2003     X X X
  Windows Mobile 2003 Second Edition     X X X
  Windows Mobile 5.0         X

Table 2. .NET Compact Framework Tools and OS Support

    Version 1.0 Version 2.0
Tool Visual Studio .NET 2003 X  
  Visual Studio 2005 X X
Windows Mobile software version Windows Mobile 5.0 In-ROM (1.0 SP3) User installable
  Windows Mobile 2003 Second Edition In-ROM (1.0 SP2) User installable (Pocket PC only)
  Windows Mobile 2003 In-ROM (1.0 SP1) User installable (Pocket PC only)
  Smartphone 2002    
  Pocket PC 2002 User installable  
  Pocket PC 2000 User installable  

Table 3. Database Technology Support

  SQL Server 2005 Mobile Edition SQL CE 2.0 EDB CEDB ADOCE
Windows Mobile 5.0 User Installable User Installable
(Pocket PC Only)
In-ROM In-ROM* Unsupported User Install
Windows Mobile 2003 Second Edition User Installable
(Pocket PC Only)
User Installable
(Pocket PC Only)
N/A In-ROM In-ROM
Windows Mobile 2003 User Installable
(Pocket PC Only)
User Installable
(Pocket PC Only)
N/A In-ROM In-ROM
Smartphone 2002 N/A N/A N/A In-ROM N/A
Pocket PC 2002 N/A User Installable
(Pocket PC Only)
N/A In-ROM In-ROM
Pocket PC 2000 N/A User Installable
(Pocket PC Only)
N/A In-ROM In-ROM (most devices)

* In Windows Mobile 5.0, CEDB is In-ROM but Deprecated. Developers should use EDB instead.

    Development Scenarios

    Visual Studio 2005 is the recommended tool for Windows Mobile development. Whether you using native or managed code, Visual Studio 2005 is the single tool that you can use to develop applications for Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0. If you need an alternative to Visual Studio 2005 or you are looking to target earlier versions of Windows Mobile the recommended development tool is based on your choice of managed or native code.

    If you do not have access to Visual Studio 2005, you can use Visual Studio .NET 2003 with the .NET Compact Framework 1.0 to target Windows Mobile 2003 Second Edition and earlier (except for Smartphone 2002). For native code development, you can use eMbedded Visual C++ 4.0 with SP4 to target Windows Mobile 2003 and Windows Mobile 2003 Second Edition software. To target older versions (Pocket PC 2000, Pocket PC 2002, Smartphone 2002), you can use eMbedded Visual C++ 3.0 for native code development.

    With the release of Visual Studio 2005 and its native development capabilities, Microsoft does not recommend the use of eMbedded Visual C++ 4.0 or eMbedded Visual Tools 3.0 for new application development. These earlier tools are supported simply to provide developers with a means of maintaining older applications.

    Server-Side or Client-Side Code?

    The decision to use server-side or client-side code depends on several criteria. Each application scenario is different; however, these criteria should help you select the best solution for the users of your application:

    • User experience: Client applications generally provide better user experience because they run locally on the device and are independent of any infrastructure with which they interact.
    • Available bandwidth: This relates to user experience. An application running in an environment where there is significant and reliable bandwidth, such as a wireless LAN, can provide a good server-side code user experience.
    • Data security: A client application must secure sensitive data on the device. Windows Mobile software provides a number of Cryptographic Service Providers that assist with this. Server side applications must ensure that data is transmitted securely by using technologies like SSL.
    • Supportability: Updates to a client application must be downloaded and installed to the device. Consider this scenario when thinking about a client application.
    • Offline functionality: If offline data access and functionality is required, a client-side application is best.

    What Do You Need to Develop for Windows Mobile-based Devices?

    The tools that you need to develop for Pocket PC and Smartphone depend on what you are trying to develop and which device you are targeting. In most cases, you will need to have an IDE and an SDK or extension for the device you want to target. The good news is that you can write applications to target the complete range of Windows Mobile-based devices from one computer because all of the necessary tools you need to do so co-exist. For the recommended installation order, see Appendix A.

    Currently, the eMbedded Visual Tools IDE and necessary SDKs are available for download over the Internet. Visual Studio is available from many software retailers and is part of most MSDN subscriptions. Visual Studio Express Editions do not support Smart Device development.

    Which Tool …When?

    The following are scenarios or questions that can help you to decide what tool you need.

    Performance, control, or footprint are important to me. For example, I want to write a game, device driver, or an Active X component.

    If you plan to target Pocket PCs and Smartphones that run Windows Mobile 2003 software and later, you should use the native code development capabilities of Visual Studio 2005. Visual Studio 2005 has built-in support for Windows Mobile 2003 and Windows Mobile 2003 Second Edition. If you want to target Windows Mobile 5.0, you also need to download and install the Windows Mobile 5.0 SDKs. You can download the SDKs and order a trial version of Visual Studio 2005 from the Developer Download Center. To support earlier versions of Windows Mobile, you need to download the eMbedded Visual Tools 3.0 – 2002 Edition.

    I want to develop an application quickly in a secure and reliable environment. I might want to access Web services. I want to write a client application that has maximum code portability. I want to reuse my Visual Studio, Visual C#, Visual Basic .NET, or .NET Framework skills.

    Microsoft recommends you use the Smart Device Programmability features in Visual Studio 2005 or Visual Studio .NET 2003. The .NET Compact Framework 1.0 is built into Windows Mobile-based devices starting with Windows Mobile 2003 software and later. Visual Studio .NET 2003 allows you to build applications that run on Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0. Visual Studio 2005 allows you to build and debug applications for Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0.

    I want to target Windows Mobile 2003, Windows Mobile 2003 Second Edition, and Windows Mobile 5.0 based devices with a shared code base.

    Whether you are using native or managed code, you can maintain one project and easily share native and managed code and target multiple SDKs with the multiple-platform support of Visual Studio 2005 — enabling you to more easily develop for multiple device types and operating system versions.

    I already have an application for Windows Mobile 2003 software, and I want to update it to support the new orientations and resolutions enabled by Windows Mobile 2003 Second Edition and Windows Mobile 5.0.

    If you are using Visual Studio 2005, you already have the tools needed to support Windows Mobile 2003 Second Edition software. If you are using Visual Studio .NET 2003 or eMbedded Visual C++ 4.0, you need to download the Developer Resources for Windows Mobile 2003 Second Edition, which contains technical articles, code samples, and helper libraries. You also need to download the emulator images for Windows Mobile 2003 Second Edition software. These downloads are available from the Developer Downloads section of the Windows Mobile Web site.

    I want to maintain an application for Pocket PC 2000, Pocket PC 2002, or Smartphone 2002 that is written in eMbedded Visual C++.

    You should download the eMbedded Visual Tools 3.0 – 2002 Edition, which contains eMbedded Visual C++ and the needed development environment, emulator, and SDKs for Pocket PC 2000, Pocket PC 2002, and Smartphone 2002.

    I want to target Smartphone 2002.

    You should download the eMbedded Visual Tools 3.0 – 2002 Edition.

    I want to maintain an application written in eMbedded Visual Basic.

    You should download the eMbedded Visual Tools 3.0 – 2002 Edition, which contains the development environment, emulator, and SDK for eMbedded Visual Basic.

    Consider porting your application to the .NET Compact Framework by using Visual Basic .NET 2003. For more information about this topic, see Moving from eMbedded Visual Basic to Visual Basic .NET.

    I want to write an application that targets a wide variety of mobile devices (including those based on non-Windows Mobile operating systems) that can operate in a thin-client environment.

    You should use ASP.NET Mobile controls as part of Visual Studio .NET 2003. You can find more information at ASP.NET Mobile Controls.

    Conclusion

    Microsoft is committed to the long-term success of the mobile device market and to helping developers deliver rich, highly functional mobile applications for enterprise users and consumers. The Windows Mobile-based application development languages currently available provide an incredible range of power and flexibility.

    As new generations of mobile devices appear on the market, Microsoft will continue delivering increasingly sophisticated and unified development tools that enable developers to rapidly design and deliver new applications that take advantage of technologies such as Web services and systems that exploit the power of .NET-based integration. The availability of these tools will give the mobile application development community the tools it needs to continually provide rapidly growing markets with the applications they need.

    Appendix A: Recommended Installation Order of Development Tools

    The recommended tool for Windows Mobile development is Visual Studio 2005. If you are using any other tools in addition to Visual Studio 2005, special care must be taken to install the development tools in the correct order.

    To ensure the maximum interoperability between the different tools for developing for Windows Mobile software, it is recommended that you install the tools and SDKs in the following order.

    If you do not have or do not need one of the tools, you don't need to obtain it for the other tools to interoperate. The following installation steps require you to be logged onto to your computer by using an account with local administrator privileges.

    To prepare your computer for the correct installation order

    1. Uninstall all existing tools, SDKs, and emulators before proceeding. You should uninstall the following programs before proceeding with this installation:
      • eMbedded Visual Tools 3.0
      • eMbedded Visual C++ 4.0
      • eMbedded Visual C++ 4.0 Service Pack 2
      • eMbedded Visual C++ 4.0 Service Pack 3
      • Visual Studio .NET 2003
      • Visual Studio 2005 (For more information, see Uninstalling Previous Versions of Visual Studio 2005.)
      • Pocket PC 2003 SDK
      • Pocket PC 2002 SDK
      • Smartphone 2003 SDK
      • Smartphone 2002 SDK
      • Pocket PC 2000 SDK
      • Standard SDK for Windows CE .NET
      • Microsoft ActiveSync
    2. Reboot your computer.

    To install the development tools in the correct order

    1. Install Microsoft ActiveSync 4.0. All of the development tools for mobile applications require ActiveSync 4.0 for application development and deployment.
    2. Install the eMbedded Visual Tools - 2002 Edition, Pocket PC 2002 SDK, and Smartphone 2002 SDK. To develop C++ and Visual Basic applications for the Pocket PC and Smartphone 2002 platforms, you must install the eMbedded Visual Tools – 2002 Edition.
      Note   The setup for the eMbedded Visual Tools - 2002 Edition also starts the installation process for the Pocket PC 2002 and Smartphone 2002 SDKs.
    3. Install eMbedded Visual C++ 4.0 and Service Pack 4. To develop C++ applications for the Pocket PC 2003 and Smartphone 2003, you must install Microsoft eMbedded Visual C++ 4.0 and Service Pack 4. Note that you can install Service Pack 4 only after eMbedded Visual C++ 4.0 is installed.
    4. Install Visual Studio .NET 2003. To develop applications in C# or Visual Basic .NET for Pocket PC 2002, Smartphone 2003, or Pocket PC 2003, you must install Visual Studio .NET 2003.
      Note   Pocket PC 2003 devices and the Pocket PC 2003 emulation images already contain the .NET Compact Framework. You must deploy the .NET Compact Framework on earlier devices.
    5. Install the Pocket PC 2003 SDK. To develop applications in C++, C#, or Visual Basic .NET for Pocket PC 2003, you must install the Pocket PC 2003 SDK.
    6. Install the Smartphone 2003 SDK. To develop applications in C++, C#, or Visual Basic .NET for Smartphone 2003, you must install the Smartphone 2003 SDK.
    7. Install the emulators for Pocket PC 2003 Second Edition. To test applications for high resolution and landscape Pocket PCs, you must install the Emulator Pack for Pocket PC 2003 Second Edition.
    8. Install the Emulators for Smartphone 2003 Second Edition. To test applications for high resolution Smartphones, you must install the Emulator Pack for Smartphone 2003 Second Edition.
    9. Install the Developer Resources for Windows Mobile 2003 Second Edition. To get important information about Windows Mobile 2003 Second edition in addition to new and updated samples, headers, and libraries, you must install this package.
    10. Install Visual Studio 2005.
    11. Install Windows Mobile 5.0 SDKs for PocketPC and/or Smarpthone.