Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
See This in MSDN Library
Developing Applications for Windows Mobile: FAQ
Page Options
Microsoft Corporation
Average rating: 6 out of 9
March 2004 Applies to: Windows Mobile™ 2003 Second Edition software for Pocket PCs Windows Mobile™ 2003 Second Edition software for Smartphones Windows Mobile™ 2003 software for Pocket PCs Windows Mobile™ 2003 software for Smartphones Windows Mobile™ 2002 software for Pocket PCs Windows Mobile™ 2002 software for Smartphones Microsoft® eMbedded Visual Basic® Microsoft® eMbedded Visual C++® Microsoft® .NET Compact Framework Microsoft® Visual Studio® .NET
Rate this page Print this page E-mail this page Discuss this page
Summary: This article provides answers to questions commonly asked by developers targeting or thinking about targeting Pocket PC and Smartphone. (14 printed pages)
General Q: What is Windows Mobile? Q: What is the difference between a Pocket PC and a Smartphone? Q: What are the different versions of Pocket PC and Smartphone e.g. 2002, 2003? Q: How can I identify different software releases? Q: What should I do to support Windows Mobile 2003 Second Edition enhancements such as high res or landscape screens in my application?
Pocket PC Development Q: What tools are available for Pocket PC 2003 development? Q: Will Pocket PC 2002 applications work on Pocket PC 2003 devices? Q: Why is eVB development no longer supported for Pocket PC 2003? Q: How do I migrate from eVB to Visual Basic .NET? Q: What development tools do I use to write .NET Compact Framework-based applications for the Pocket PC? Q: What resources are there for developing for Windows Mobile 2003 Second Edition?
Smartphone Development Q: Q: Q: Q: Q: Q:
What tools are available for Smartphone 2002 development? When will the .NET Compact Framework be available for Smartphone 2002? Is MFC or ATL available for Smartphone 2002 development? Can eMbedded Visual Basic 3.0 be used to build applications for Smartphone 2002? What tools are available for programming Microsoft's Smartphone 2003? What version of the .NET Compact Framework is available on Smartphone 2003?
Q: Q: Q: Q: Q: Q: Q:
Will Smartphone 2002 applications work on Smartphone 2003 devices? What are example Smartphone 2002 and Smartphone 2003 devices? Is MFC or ATL available for Smartphone 2003 development? Where can I find more information about the Smartphone application security model? What is prompt mode? Can eMbedded Visual Basic 3.0 be used to build applications for Smartphone 2003? What resources are there for developing for Windows Mobile 2003 Second Edition?
Mobile Development Tools Q: What is Microsoft eMbedded Visual Tools 3.0? Q: What device platforms do the eMbedded Visual Tools 3.0 support? Q: What is eMbedded Visual C++ 4.0?
1 of 8
19-08-2004 23:28
Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
Q: Can I use eMbedded Visual C++ 4.0 to develop applications for Pocket PC or Smartphone? Q: Can I use the Windows CE Standard SDK to develop applications for Pocket PC or Smartphone? Q: What is the difference between eMbedded Visual Tools 3.0 and Visual Studio .NET? Q: Why isn't eMbedded Visual C++ integrated into Visual Studio .NET? Q: What is the .NET Compact Framework? Q: What are the key benefits of using the .NET Compact Framework? Q: What devices can run the .NET Compact Framework? Q: When will the .NET Compact Framework be available? Q: Can the .NET Compact Framework run all .NET languages? Q: Will .NET Compact Framework applications perform as well as eMbedded Visual C++ applications? Q: What's the difference between the .NET Compact Framework and the ASP.NET Mobile Controls?
Technical and Marketing Support Q: How can I receive technical support? Q: What is the Mobile2Market program? Q: What is the difference between application logo certification and application signing? Q: Do all Smartphone applications need to go through logo certification before they can actually be deployed to a device? Q: Do all Smartphone applications need to be digitally signed before they can actually be deployed to a device?
General Q: What is Windows Mobile? A: Windows Mobile is Microsoft's software platform for Pocket PCs and Smartphones. Windows Mobile extends the familiarity of the Windows desktop to personal devices. Q: What is the difference between a Pocket PC and a Smartphone? A: Think of the Pocket PC and Smartphone in terms of their primary usage characteristics. A Smartphone is designed primarily as a phone device in both form factor and usage. It is well tuned for making and receiving calls and as a messaging device. A Pocket PC is designed primarily as a small personal computer which is . great for viewing and managing data and enhanced messaging. Some Pocket PC devices also have phone capabilities. You should try to align your application with the usage characteristics of your target Windows Mobile device. Q: What are the different versions of Pocket PC and Smartphone e.g. 2002, 2003? A : Each new version of the Windows Mobile software builds on the existing rich development platform available to developers while maintaining a consistent core so applications can target the widest range of devices. There are now three common Windows Mobile software releases: Windows Mobile 2002 software : The software that runs device sometimes called Pocket PC 2002 and Smartphone 2002. New developer features include MAPI and Connection Manager. Windows Mobile 2003 software : The 2003 software release added the .NET Compact Framework to 2003 based device ROMs. This enables developers to write managed code applications for Windows Mobile 2003-based devices. Other new features include Configuration Manager, Bluetooth programmability and SMS interception support. Windows Mobile 2003 Second Edition : The Second Edition release enables device maker innovation through the release of key functionality such as the support for Landscape, Square and High Resolution screens for Pocket PC, and QVGA screens for Smartphone. The naming reflects the consistency in the development platform which has not changed for this release, all the APIs to support new screen orientations and resolutions have always been part of the platform. Q: How can I identify different software releases? A : Both Pocket PC and Smartphone have an About panel in Settings. Settings is available from the Start Menu on both devices. From code, you can use the GetVersionEx function to query the major and minor OS versions as well as the exact software build number. Windows Mobile 2002 – OS Version : 3.0 Windows Mobile 2003 – OS Version : 4.20 Windows Mobile 2003 Second Edition – OS Version : 4.21 Q: What should I do to support Windows Mobile 2003 Second Edition enhancements such as high res
2 of 8
19-08-2004 23:28
Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
or landscape screens in my application? A: Windows Mobile 2003 Second Edition offers new screen orientations and resolutions, including landscape, square and VGA support for Pocket PC and QVGA support for Smartphone. This release does not require a new SDK. 1. Read best practices in the whitepapers in the Windows Mobile 2003 Second Edition Developer Resources package 2. Test your applications, using the Windows Mobile 2003 Second Edition emulators for Pocket PC and Smartphone. 3. Make your applications screen orientation and resolution independent, so you can target the full range of hardware innovations on the Windows Mobile platform with a single code base Download the new Windows Mobile Developer Resources package, which includes new and updated code samples and whitepapers.
Pocket PC Development Q: What tools are available for Pocket PC 2003 development? A: To build native C++ applications for the Pocket PC 2003, you will need Microsoft® eMbedded Visual C++® 4.0, Microsoft® eMbedded Visual C++® 4.0 Service Pack 3, and the Pocket PC 2003 Software Development Kit. You can download the eMbedded Visual C++ tools and the Pocket PC 2003 SDK. The Windows Mobile 2003 Second Edition emulator pack enables you to test your application on Second Edition devices. Note that the Pocket PC 2003 SDK does not support Microsoft® eMbedded Visual Basic® development. To build managed code applications for Pocket PC 2003, you will need Visual Studio .NET 2003 and the Pocket PC 2003 SDK. To build mobile web applications for the Pocket PC, use the ASP.NET Mobile Controls in Visual Studio .NET 2003. Q: Will Pocket PC 2002 applications work on Pocket PC 2003 devices? A: Well-behaved Pocket PC 2002 applications that have used documented APIs are expected to run without recompile on Pocket PC 2003 devices. Q: Why is eVB development no longer supported for Pocket PC 2003? A: We will continue to support the eVB run-time in Pocket PC 2003 devices as a RAM installable component, so that older eVB applications will be able to run on the new device, but new eVB development for Pocket PC 2003 devices will not be supported leaving way for more powerful and robust development experiences with Visual Basic® .NET, Visual C#® .NET, and the Microsoft®.NET Compact Framework. Based on customer feedback, the Pocket PC 2003 devices will include the .NET Compact Framework in ROM. The .NET Compact Framework is a subset of the full .NET Framework that is specifically designed for smart devices. It is a far more comprehensive, language neutral application engine than the eVB specific runtime that was provided in the Pocket PC 2000 and Pocket PC 2002 devices. Q: How do I migrate from eVB to Visual Basic .NET? A: The move from eVB to Visual Basic .NET is not easy but the benefits of migrating far outweigh the costs: Richer data types: eVB has only a 16-byte VARIANT; Visual Basic .NET uses the .NET Framework common type system. Faster execution: eVB is interpreted; Visual Basic .NET is JIT (just in time) compiled to native code prior to execution Better error handling: eVB only supports "On Error"; Visual Basic .NET supports structured exception handling Support for structures: not in eVB; Visual Basic .NET supports namespaces, classes, and structures Object-oriented: eVB is procedural; Visual Basic .NET supports full OOP (object orientated programming) First-class citizen: eVB is always playing catch-up with MFC; Visual Basic .NET is core .NET Native XML Support: not in eVB; Visual Basic .NET has native support for XML and XML Web services Better data model: ADOCE is far surpassed by ADO.NET; our best data model yet Safer, more reliable execution: eVB is a scripting language; Visual Basic .NET is managed code And much, much, more! As well, there are a wide variety of resources to help developers make this transition, from porting labs to
3 of 8
19-08-2004 23:28
Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
technical articles. One example is a technical article that outlines the advantages and how-to of moving from eVB to Visual Basic .NET: Moving from eMbedded Visual Basic to Visual Basic .NET. Q: What development tools do I use to write .NET Compact Framework-based applications for the Pocket PC? A: Microsoft® Visual Studio® .NET 2003 allows the Visual Basic .NET or C# programmer to create managed code applications (that is, those applications that target the .NET common language runtime) for the Pocket PC 2000, Pocket PC 2002, and Pocket PC 2003 devices. In order to develop managed code applications for Pocket PC 2000 and Pocket PC 2002 devices, you can use Visual Studio .NET 2003 out of the box. Visual Studio .NET 2003 will automatically install the .NET Compact Framework into RAM on these devices during development. The .NET Compact Framework is already in ROM in all Pocket PC 2003 devices and is supported by Visual Studio .NET 2003 via the Pocket PC 2003 SDK. Q: What resources are there for developing for Windows Mobile 2003 Second Edition? Download the new Windows Mobile Developer Resources package, which includes white papers and new and updated code samples. This release does not require a new SDK. You can test your application using new emulator packages. eMbedded Visual C++ 4.0 developers should download Service Pack 3 for eMbedded Visual C++ 4.0.
Smartphone Development Q: What tools are available for Smartphone 2002 development? A: To start developing applications for Microsoft Smartphone 2002, you will need eMbedded Visual C++ 3.0 and the Smartphone 2002 SDK. Both are available at Windows Mobile Developer. Q: When will the .NET Compact Framework be available for Smartphone 2002? A: The first version of the .NET Compact Framework is focused on enabling smart device programming for the successful Pocket PC class of devices. The .NET Compact Framework was added to the Smartphone 2003 release of Smartphone. There are no plans to release a version of the .NET Compact Framework for Smartphone 2002. Q: Is MFC or ATL available for Smartphone 2002 development? A: No, MFC and ATL development is not supported in Smartphone 2002. Q: Can eMbedded Visual Basic 3.0 be used to build applications for Smartphone 2002? A: No, there is no support for eVB development targeting Smartphone 2002. Q: What tools are available for programming Microsoft's Smartphone 2003? A: With the release of Smartphone 2003 you have two options for development , either native code through eMbedded Visual C++ 4.0 with Service Pack 3 or managed code through Visual Studio .NET 2003. In both cases you will need to download the Smartphone 2003 SDK. The Windows Mobile 2003 Second Edition emulator pack enables you to test your application on Second Edition devices. Both eMbedded Visual C++ 4.0 and the Smartphone 2003 SDK are available at Windows Mobile Developer. Q: What version of the .NET Compact Framework is available on Smartphone 2003? A: Smartphone 2003 allows developers to code against the .NET Compact Framework 1.0 Service Pack 1. The .NET Compact Framework will be available in ROM on Smartphone 2003. .NET Compact Framework 1.0 Service Pack 2 is available in ROM on Smartphone 2003 Second Edition. Q: Will Smartphone 2002 applications work on Smartphone 2003 devices? A: Well-behaved Smartphone 2002 applications that have used documented APIs are expected to run without recompile on Smartphone 2003 devices. Q: What are example Smartphone 2002 and Smartphone 2003 devices? A: The original Orange SPV and Orange SPV e100 run Windows Mobile 2002. The MPX200 on both Orange and AT&T are both Windows Mobile 2002-based Smartphones. The Orange SPV e200 runs Windows Mobile 2003. Q: Is MFC or ATL available for Smartphone 2003 development?
4 of 8
19-08-2004 23:28
Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
A: MFC is not available for Smartphone 2003. You can use ATL 4.0 to develop for Smartphone 2003. Please refer to the SDK documentation for more information about ATL 4.0. Q: Where can I find more information about the Smartphone application security model? A: To help developers understand the Windows Mobile-based Smartphone application security model, we have created a white paper. See http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/smartphone_security.asp. Q: What is prompt mode? A: An OEM or operator can include prompt mode in their Smartphone application security policy to allow the user to decide whether to install or run an application at install or run time. Q: Can eMbedded Visual Basic 3.0 be used to build applications for Smartphone 2003? A: No, there is no support for eVB development targeting Smartphone 2003. If you want to leverage Visual Basic development skills consider using Visual Basic .NET and targeting the .NET Compact Framework. Q: What resources are there for developing for Windows Mobile 2003 Second Edition? Download the new Windows Mobile Developer Resources package, which includes white papers and new and updated code samples. You can test your application using new emulator packages. eMbedded Visual C++ 4.0 developers should download Service Pack 3 for eMbedded Visual C++ 4.0.
Mobile Development Tools Q: What is Microsoft eMbedded Visual Tools 3.0? A: eMbedded Visual Tools 3.0 is an Integrated Development Environment (IDE) that mobile developers use to write software applications for 32-bit devices based on the Microsoft Windows CE operating system. Included are full versions of the Microsoft eMbedded Visual C++ 3.0 language, Microsoft eMbedded Visual Basic 3.0 language, platform-specific SDKs, remote tools, and documentation. Q: What device platforms do the eMbedded Visual Tools 3.0 support? A: eMbedded Visual Tools 3.0 - 2002 Edition comes with SDKs for the Pocket PC 2000, Pocket PC 2002, and Smartphone 2002 and supports development for custom Windows CE 3.0 devices. Note: The Pocket PC 2002 SDK can be used with both eMbedded Visual Basic 3.0 and eMbedded Visual C++ 3.0, whereas the Smartphone 2002 SDK is supported only by eMbedded Visual C++ 3.0. Q: What is eMbedded Visual C++ 4.0? A: eMbedded Visual C++ 4.0 is a powerful development tool that offers considerable benefits to companies building native code applications for the next generation of Windows CE-based devices, including the Pocket PC 2003 and Smartphone 2003. This stand-alone integrated development environment (IDE) brings a new level of productivity to Windows CE development without compromising flexibility, performance, or control. To build applications for Pocket PC 2003 and Smartphone 2003 using the eMbedded Visual C++ tools, you will also need eMbedded Visual C++ 4.0 Service Pack 3 and the Pocket PC 2003 and Smartphone 2003 SDKs. Download the eMbedded Visual C++ 4.0 tools. Q: Can I use eMbedded Visual C++ 4.0 to develop applications for Pocket PC or Smartphone? A: eMbedded Visual C++ 4.0 with Service Pack 2 can be used to develop applications for the Pocket PC 2003 and Smartphone 2003 including Windows Mobile 2003 Second Edition. It can not be used to develop applications for Pocket PC 2002 or Smartphone 2002. Q: Can I use the Windows CE Standard SDK to develop applications for Pocket PC or Smartphone? A: The Windows CE SDK provides a common subset of features that allow an application written to conform to the Standard SDK to run on custom display-based Windows CE .NET platforms. In order to build smart device applications for Pocket PC and Smartphone that take advantage of the rich device feature set offered by these platforms, use the device-specific SDKs. Q: What is the difference between eMbedded Visual Tools 3.0 and Visual Studio .NET? A: eMbedded Visual Tools 3.0 is a stand-alone development environment aimed specifically at mobile and
5 of 8
19-08-2004 23:28
Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
embedded developers. For Pocket PC and Smartphone, use eMbedded Visual Tools with the appropriate platform SDKs to build rich "native code" client applications. Visual Studio .NET is Microsoft's latest version of its most popular desktop development tool. Use Visual Studio .NET 2003 to build .NET Compact Framework-based Pocket PC smart client applications. Also, use Visual Studio .NET and the ASP.NET mobile controls for browser-based applications that target a wide variety of devices, including the Pocket PC and Smartphone class of devices. Q: Why isn't eMbedded Visual C++ integrated into Visual Studio .NET? A: Based on customer feedback, our initial efforts have been focused on enabling Visual Basic .NET developers to more easily program devices. However, the ability to create device applications using native code (C++) will be integrated into the next version of Visual Studio. Q: What is the .NET Compact Framework? A: The .NET Compact Framework is a subset of the .NET Framework that is designed to run on resource-constrained devices, providing support for managed code and for XML Web services. The .NET Compact Framework greatly reduces the development cost of writing applications and services that run on devices such as the Pocket PC. Because the .NET Compact Framework is a subset of the .NET Framework that developers use to write desktop and server applications, they already have all the necessary skills to write applications for Pocket PC and Smartphone 2003 devices. Q: What are the key benefits of using the .NET Compact Framework? A: One of the biggest barriers to writing device applications today is that most devices require developers to learn different APIs and use different programming tools than they would use for desktop applications. Because the .NET Compact Framework uses the same .NET Framework programming model and the same Visual Studio .NET development tools that developers are already using on desktops and servers, it greatly reduces the cost of developing device applications and increases developer productivity. These gains, in turn, enable companies to use smart devices in new ways that enhance their business. The .NET Compact Framework is also the only mobile development platform with native support for XML Web services. Q: What devices can run the .NET Compact Framework? A: The .NET Compact Framework 1.0 is available as a RAM install for Pocket PC 2000 and Pocket PC 2002 devices (including Phone Edition), and is in ROM on Pocket PC 2003 devices. Smartphone 2003 devices include the .NET Compact Framework 1.0 Service Pack 1. All Windows Mobile 2003 Second Edition devices contain the .NET Compact Framework 1.0 Service Pack 2. Q: When will the .NET Compact Framework be available? A: Version 1.0 of the .NET Compact Framework is available as part of the Visual Studio .NET 2003 release. For more information, see Device Development. Q: Can the .NET Compact Framework run all .NET languages? A: Initially the .NET Compact Framework will run Visual C# and Visual Basic. Other .NET languages will also run as long as they conform to the subset of the common language runtime that the .NET Compact Framework supports. Q: Will .NET Compact Framework applications perform as well as eMbedded Visual C++ applications? A: In most cases, applications written with eMbedded Visual C++ will run faster than those written using Visual Basic .NET or Visual C# .NET. However, for computationally intensive portions of their application, developers will see a substantial improvement of their Visual Basic .NET applications over their eMbedded Visual Basic equivalents. Q: What's the difference between the .NET Compact Framework and the ASP.NET Mobile Controls? A: There are two different approaches to programming devices. One approach is to place the application on the smart device. The other approach is to place the code on the server and present the user interface via a browser. The .NET Compact Framework enables the former, and the ASP.NET Mobile Controls (formerly known as Microsoft Mobile Internet toolkit) enables the latter. Building mobile applications using code on the device enables an application to continue to function in the absence of an Internet connection. Applications that run directly on the device also enable much richer user interfaces, as well as the opportunities to integrate with assets available on the operating system, such as multimedia and other applications. Using the .NET Compact Framework enables a highly productive model for building smart device applications.
6 of 8
19-08-2004 23:28
Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
Building mobile applications where the code lives on the server also has its advantages. This architecture is highly useful for when the widest range of Internet-enabled mobile devices must be reached. These applications are also not limited in resources, since they run on the same servers as desktop Web applications. Authoring these applications is accomplished using the ASP.NET Mobile Controls within Visual Studio .NET.
Technical and Marketing Support Q: How can I receive technical support? A: There are a number of options for technical support ranging from free newsgroups to paid and dedicated support. For more information about these options, see Windows Mobile Support. Q: What is the Mobile2Market program? A: Microsoft Mobile2Market is a comprehensive program designed to empower developers and independent software vendors to generate incremental revenues through mobile operator relationships, while extending customer reach and reducing time-to-market. The Mobile2Market process is made up of various steps including application logo certification and inclusion in the Microsoft Application Catalog. Visit www.microsoft.com/windowsmobile/mobile2market for more information. Q: What is the difference between application logo certification and application signing? A: Application logo certification is the process of designing and building your application to adhere to a set of best practice design guidelines. By having their application logo certified, Independent Software Vendors (ISVs) can benefit greatly by differentiating their applications in the market, and ensuring end-user satisfaction. To see the specific logo certification guidelines for Pocket PC 2002 and Smartphone 2002, see Windows Mobile Participate Now. Application signing applies to Smartphone 2002 and refers to a security concept on the device. Specifically, application signing refers to the process of having your application digitally signed (that is, verified and authenticated) so that it can be deployed to and run on an actual Smartphone 2002 device. The requirement for application signing is set by the mobile operator and its specific Smartphone device offering. Microsoft's Mobile2Market program provides a framework to help developers bring their applications to market in an efficient manner and describes the process for application signing, logo certification, and marketing. For more information, see Windows Mobile Participate Now. Q: Do all Smartphone applications need to go through logo certification before they can actually be deployed to a device? A: No, application logo certification is not a requirement for developing applications on Pocket PC or Smartphone, however, Independent Software Vendors (ISVs) can benefit greatly by going through this process to differentiate their applications in the market, and to ensure end-user satisfaction. Another benefit of obtaining logo certification is inclusion in the Microsoft Application Catalog which enables ISVs to get broad customer reach. To see the specific logo certification guidelines for Pocket PC 2002 and Smartphone 2002, see Windows Mobile Participate Now. Q: Do all Smartphone applications need to be digitally signed before they can actually be deployed to a device? A: Not necessarily. The requirement for application signing is set by the mobile operator and its specific Smartphone device offering. Microsoft's Mobile2Market program provides a framework to help developers bring their applications to market in an efficient manner and describes the process for application signing, logo certification, and marketing. For more information, see Windows Mobile Participate Now. Top of Page
7 of 8
19-08-2004 23:28
Mobile & Embedded Developer Center: Getting Started with Wi...
http://msdn.microsoft.com/mobility/understanding/gettingstarted/...
How would you rate the quality of this content? 1 Poor
2
3
4
5
6
7
8
9 Outstanding
Tell us why you rated the content this way. (optional)
8 of 8
Average rating: 6 out of 9
1 2 3 4 5 6 7 8 9 200 people have rated this page
19-08-2004 23:28