Getting Started with Windows Mobile Development.

I have heard comments like "I am new to Windows Mobile development. Where should I start? What books do you recommend?"


So if you are a complete beginner, let me tell you what you need to get started:


1.     You will need to install Microsoft Visual Studio 2005, Standard Edition or above (Express Editions are not supported). SP1 recommended.
If you are using Microsoft Visual Studio 2008, you need Professional Edition or above.

2.     You will need to install the Windows Mobile 6 SDK Refresh if you wish to develop to Windows Mobile 6 devices.


3.     You don’t need an actual device to start developing, as the SDK has a device emulator that can run on your desktop, but of course there is nothing like running your applications on an actual device.


You can program a Windows Mobile device using Win32 APIs (C/C++) or using the .Net Compact Framework (C#/VB.Net).


If you are familiar with C/C++ but are not familiar with Win32, I recommend taking a look at the book "Programming Windows" by Charles Petzold. It was written for desktop, but in my opinion it is the best Win32 book out there.
If you are familiar with Win32, but want to know Window CE (The OS under Windows Mobile) specific items, take a looks at the book "Programming Windows CE" by Doug Boling.


If you would rather program in C# or VB.Net (If you are a Java developer you will feel more comfortable with them), then any C#/VB.Net book should do it for you.
There is however, a very nice C# programmers reference on msdn that includes some tutorials.


Some resources you should be aware of are:


1.     These windows mobile and windows CE tutorials on msdn.


2.     The windows mobile development page on msdn.It has many webcasts and pointers to the different windows mobile forums.


3.     The windows mobile developer wiki in channel 9.


Feel free to add any additional resources you are aware of in your comments.





-Luis E. Cabrera

Comments (21)

  1. ridi says:

    I think we need a book that focused in WM 6 development and API thats related in managed world..:) as well as the software factory in mobility world

    wanna build it.. 🙂

  2. Alan says:

    Isn’t it Visual Studio 2005 Professional or above?

  3. lev says:

    i did not see program better from WM 6.1

  4. LuisCa says:

    I added the folliwing info.

    VS 2005 Standard or above should work.

    If you are using VS 2008, you will need Professional or above.

  5. Jason H. says:

    Thanks for the links! I’ve actually been looking for a page like this for a few months now. Any particular books/sites you’d recommend for someone looking to venture into mobile dev but who is also *completely* new to programming? Would you recommend the same books?

  6. LuisCa says:

    If you are completely new to programming, you will probably feel more comfortable with C# than with C++.

    Although I personally learn C/C++ first and then C#.

    A C++ books that I have and like is:

    "Data abstraction and Problem Solving" by Carrano, Helman and Veroff.

    I have also seen the Deitel books, and they are good for beginners:

    Visual C++ .NET : how to program by Deitel.

    Visual C# 2005 : how to program by Deitel.

    I guess it really depends on your learning style. If I were you, I would just walk to the closest bookstore, and browse through their C# books and look for one that matches your learning style and pace.



  7. Jason H. says:

    Excellent! I’ll be sure to check out those recommendations. Based on the Amazon description of the Deitel C# book, that might be best! (Plus, it looks like the 2008 version just came out last month.)


  8. I know I’m not the first person to suggest this.  I love Windows Mobile and have used WM devices exclusively for about 5 years.  

    I feel that Microsoft really needs to invest in a Visual Studio Express Mobile Edition.  With Google and Apple making headway into the mobile device operating system field, it seems like a logical decision.  The more people developing WM applications, the more presence Microsoft will have.  

    When Visual Studio 2008 came out and I found out that Standard did not allow mobile development, I couldn’t believe it!  MS was going the opposite direction I felt was necessary.

    It’s amazing how many dedicated freeware app developers still use Visual C++ Embedded 4.0.  Show them some love and let them develop for CF 3.5 for free!

    You don’t have to give away everything.  The express edition can lack a lot of whiz-bang features that freeware developers rarely use anyway.

    Come on, Microsoft!  Show a little love!

    (I’m an MSDN subscriber, btw, so I have Studio 2008 Professional, but I want a more thriving .Net CF community.)

  9. 3DPiper says:

    I agree with Parrotlover77!

    I want to develop a few VERY SIMPLE apps for WM6. I know a little about programming, but reading the ‘so you want to get started with WM development’ list above is daunting.

    Why isn’t here an easy, visual way to create some simple apps?

    I’m a windows user, but I have to hand it to apple. They make things easy for everyone.


  10. George Henne says:

    For those looking for a simple way to get started, have a look at NS Basic/CE. It’s a visual IDE which builds on VBScript to make a very nice development tool. You can use it to develop on the desktop or on the device itself.

    The product has continually updated since 1998, and (from anything we can tell) is the best selling development tool other than Visual Studio itself.

    George Henne

    NS BASIC Corporation

  11. Rick C says:

    Mobile development doesn’t require Visual Studio if you are willing to forgo the IDE.  Install the .Net Framework SDK (or the Windows SDK that has the .Net Framework 3 rolled into it) and the .Net CF redistributable.  Then you can compile VB and C# using the command-line compilers, or, if you’re willing to do a little XML, you can even use msbuild.

    You can even edit individual files in the Express Editions, altho they don’t support mobile projects.

  12. Williamton Yan III says:

    Hi, i’m new to this window mobile thing….  i’m using right now a windows mobile 5.0 and i’m having a problem on the RAM memory coz on my storage i got low already but on my program its still big how do i use those memory on the program side so that i would not have a memory error? thanks

    by the way i have a pidion Bip-5000 and using a sql anywhere database and pocketbuilder 2.5 as the developing software.

    and i’m getting this message sometime processing my develop program —> Freeing previously freed memory or freeing using different anchor! Generate GPF?

    i hope someone could help on this memory problem… and advance thanks to your help…. i have by the way 128 MB RAM and 128 MB of ROM…..

  13. afriza says:


    Will you suggest VS2008 or VS2005 for a new Native Windows Mobile Application (Pocket PC)?

    Can these tools develop Apps with older SDK like PPC2003SE SDK?

    And for the User Interface, what would you suggest to use, MFC/WTL/others?


  14. afriza says:

    The App needs to handle Orientation changes and High Resolution as well.


  15. Melissa says:

    I would like to confirm that I can use Visual Studio 2008 to develop an application for my Windows Mobile 2003 Second Edition device – is this correct?  Should I also install an SDK?  If so, which one?  What .NET framework should I use?  Any other commens or suggestions regarding my described environment? Thank you.

  16. Joshuapa says:

    Hi Melissa,

    As Luis mentions above, if you’re using Visual Studio 2008 it will need to be the Professional edition. As far as SDK goes, Visual Studio 2008 includes the SDK for Windows Mobile 2003. It will be an option once you create your Smart Device project. To develop for Windows Mobile 6, you would need to install an additional SDK.

    If you have any problems getting started, feel free to post.


  17. Saif says:

    Hi i needed this reference "Microsoft.windowsmobile" to Develop for PocketPC 2003 using Visual Studio 2008 , how can i get find it or get arround that?

  18. Steve Michel says:

    I have MSVS 2005 with Win Mobile 6 SDK refresh standard and profressional installed.  With 2005 VS still installed, I installed MSVS 2008 Profressional.  Mobile 6 SDK did not show up in MSVS 2008, so I installed the Win Mobile 6 SDK refresh again.  I was given the option to uninstall or repair.  I choose repair and it only repaired my 2005 VS instation.  Win Mobile 6 SDK refresh is still not installed into my MSVS 2008 system.  Does anyone know how to get Win Nobile 6 SDK refresh into both 2005 and 2008 MSVS?  -Steve

  19. MSDNArchive says:


    Although it may not seem intuitive, you must first completely uninstall the Windows Mobile 6 SDK.  It’s not enough to choose repair.  VS 2008 must be installed before you install the SDK.  That has worked for me in the past and I expect it should work for you just fine.  Let me know if that does not solve your problem.


  20. Yonda says:

    Hi Guyz!

    I don’t undestand,I’m new in mobile development. Can someone take me through the steps of developing mobile application that can run on smart phones.Just start from the very beginning and go step by step. I have visual studio 2008 professional on my machine. So what else do I need and were can I get it.

    Your help will be appreciated.

  21. Joshuapa says:

    Hi Yonda,

    A great link to look at is on the Windows Mobile developer center. It will walk you through, with links, from installation to running a very small program.

    If you need more information, let me know.


Skip to main content