An HP Pocket PC with Windows Mobile 2003 on it.

Pocket PCs, the precursor to your smartphone. They were all the rage in the early 2000’s and likewise still remain fairly popular between collectors and retro computing enthusiasts.

You can still use them for all sorts of things, basic PIM (Personal Information Management) such as calender, contacts, notes and much much more. Games of course too, who could forget Bejeweld 2, or Zuma? Or even ports for games like Age of Empires, Simcity 2000!

As a result there are many tools and programs available on many different platforms. But what if you have a problem, and there is no solution available for the thing you need done? Maybe you need a special calculator, something that sends commands via infrared? Why not just code it yourself!

Thus article will go about the things you can do and will need to get started with Pocket PC development.


The easiest route is to with .NET 3.5. It’s the most up-to-date version that will run on Pocket PCs straight out of the box and you can use the C# (pronounced See-Sharp) language to build software. There is a LOT of information and help on this language, so finding help fixing a bug or finding how to do a certain instruction will not be an issue.

Using Visual Studio 2008, it will give you a virtual Pocket PC to work/test with, and a industry standard work environment. Lets first go over what you will need to get started:


You can use any PC, although I recommend Windows 7 x64 for compatibility and ease of use.
If need be you can use it on a VM as a testing ground. Here are a couple things you will need to get started:

  • Windows 7 x64 or x86 ISO (You can get this officially from Microsoft’s website)
  • Visual Studio 2008 Professional (Can be grabbed here)
  • A PDA is a nice to have, but not necessary to get started:
    You can build applications and test them in Visual Studio itself, as it comes with an emulator.
    A hardware device is best to use for making CAB packages.
  • A Virtual Machine or dedicated PC will both work, if you want to search for code and look for help on the same machine I recommend setting up a dedicated PC as a development station.
    When using Windows 7 you can run the latest browsers and without any issues regarding Visual Studio.

Getting Started:

Firstly, you will want to install Windows 7. You can use Vista and Windows XP too, maybe even 10 but I dont recommend you do. Security and browsing for the older versions and Windows 10 might have compatibility issues.

In any case, you can use the downloaded ISO file (Can be grabbed here officially) to either burn a DVD, write an USB stick or open it in a Virtual Machine. To write a DVD you can use software like ImgBurn, and for USB sticks you can use Rufus.

After installing Windows 7 and making sure it is activated and fully up-to-date, you can grab the Visual Studio 2008 ISO file. You can either burn it to a DVD, or unzip it to an USB stick to install from there. You can use tools like 7-zip to extract an ISO file.

When you’re presented with Visual Studio’s setup screen, we will now follow its setup procedure and begin a project!

Setting up:

To begin installing Visual Studio 2008, you can either use a program like Daemon Tools to make the downloaded file a virtual CD-ROM drive, or unzip it with 7-Zip. The latter will work just as well.
Next, open the folder or drive letter you made and click on setup.exe:

Now, let’s run down all 13 steps as shown below.
Note: You can click on the images to view them better!


  • Step 1:
    Firstly after opening setup.exe and allowing administrative rights, you will be greeted by the welcome screen.
    Click on Install Visual Studio 2008 to begin.
  • Step 2:
    Setup will begin loading its components to help you along, after it is complete click on Next.
  • Step 3:
    Afterwards accept the License Terms and Next will unlock. Enter your name to be used and note the product key is pre-filled in.
  • Step 4:
    You can continue with the default components, or for the advanced user click Custom and select components you need or do not need. But for most of us, Default will do just fine. Click install to continue.
  • Step 5:
    Afterwards the random creepy guy (and a couple other persons) welcome you, Visual Studio begins installing itself. This can take a while!
  • Step 6:
    Afterwards, you should be greeted by a big Success! message as seen on screenshot 6 and a couple notes on the left side. It mentions to do updates, which we will do now.
  • Step 7:
    Go to Windows Update, if you see the message “Get updates for other Microsoft produccts”, click on Learn More.
    This however might not load. If you get prompted to return to Windows Update via the start menu do a couple things as shown in the screenshots.
    – First, make sure Internet Explorer is set to you default browser, if it is not you can open it again and it will prompt you to do so.
    – Then, push on Alt. As a result the top-row menu pops up, go to Tools and the Compatibility View Settings. Type in and click Add. (See screenshot 10) Close the menu and return to Windows Update.
    – Now when you click on Learn More the website shown in Screenshot 11 should appear. Accept and click on Install.
    – Return to Windows Update via the start menu and refresh. Updates for Visual Studio will appear!
  • Step 8:
    After completing the updates as shown above you can now to to Start > Microsoft Visual Studio 2008 and open it. Screenshot 12 will appear.
    Advanced users can customize what language they want to work in here, however we will choose Visual C# for our environment.
  • Step 9:
    After accepting and clicking on “Start Visual Studio” it will begin to set up your new environment and screenshot 13 will appear. Congrats! You now have a fully working and ready Visual Studio setup. Note the middle text, the update feed still works, how neat is that!

Now, we will proced to start your very own Pocket PC project!

Starting a Windows Mobile project:

Screenshot 10: The Windows Mobile emulator.

Now, lets go over how to do the above!

PocketPC Projects: step-by-step.

  • Step 1:
    Firstly, open File > New > Project. You’ll be greeted with the menu where you can choose what you want to build.
  • Step 2:
    Secondly go to Smart Devices, and open the project name that says Smart Device Project. On the bottom you can choose what to name your program.
  • Step 3:
    Another menu, notice in the screenshot (number 3) here is where you select what your device will run. We will leave it at default for now. (Windows Mobile 5)
  • Step 4:
    We will use the default Device Application type for now, so we can build simple graphical applications.
  • Step 5:
    After that you will now be greeted with a blank slate, just your user interface and nothing else. Look on Screenshot 6 to hover over the Toolbar, and click on the pin icon. Furthermore you can now easily drag and drop components like labels, menu’s and pictures on your application.
    Next, put down for instance a TextBox. Click on TextBox on the toolbar and drag it on your what looks like a Pocket PC. Here is where you can previeuw what your application will look like.
    Lastly, double click on said textbox to open the properties menu (as seen in screenshot 7). Here you can put text in or change what you need it to do.
  • Step 6:
    As a result you now know how to put down graphical components and build an user interface; drag and drop and change properties. Further, to enter any code you can click on the component you places to make it interactive, or doubleclick on an empty spot to change what the entire program does/contains.
  • Step 7:
    After that using F5 or the green ‘play’ button on the top row you can start your newly made application.
    Screenshot 9 will show you how the debugging works. You can start an Emulator (a program that mimicks a different system) or connect to a real Pocket PC using the “_____ Device” option as shown on the bottom.
  • Step 8:
    Subsequently, the easiest way is to use the Emulator, which will pop up as seen in screenshot 10. Here is where you can easiliy test your applications and much more.
  • Step 9:
    Lastly click on Deploy and your selected environment will start as seen in screenshot 10. Wait for the first deployment to install what libraries the Pocket PC needs to run your application and it will pop up. Ready to start testing!

One tip, to skip needing to install requirements each time you need it, close your application and then close the window.
Further, Visual Studio will ask you if you want to save the ‘state’ of the device. Click yes if you do not want to wait each time you start your application for .NET to install.

And that thereabouts concludes it! In short you now have Visual Studio running and built a basic application for Windows Mobile. There are many guides on C# out there, experiment, debug and learn! The possibilities are endless.

Big tip: If you have a finished product, and want to make an installer package or add different things, you can add them to your solution. Use File, add, new project. This is not only required for cab file creation, but just keeps things tidy.

Other useful things:

This environment will use .NET version 3.5, and its not exactly the newest so some things you can find on the internet for helping your bug or problem might not work. Of course, trial and error are the biggest parts of programming something. Search, find, test and repeat!

Lastly, to work with synchronisation and backup of your Pocket PC’s files Office 2010 32-bit or older is recommended.

Useful websites:

To find what your Pocket PC is running if you have one, look at: This page
For creating installation packages, look at: This how-to.
Moreover for finding useful tools you can look at
I also recommend signing up with, the biggest Pocket PC and PDA-related website. If you need any kind of tool for your work, it is probably there!
When you are done with your application and you want to publish an installer file, look at this how-to.
If you want working modern e-mail on your Pocket PC device, take a look at E-Mail on your PDA: Setting up nPOPuk.

Most importantly; to connect a working real Pocket PC you will need to install ActiveSync 4.5 for XP, or Windows Mobile Device Center on Vista and Windows 7.


Developing for Pocket PC’s might not be of this age, but it sure is an useful introduction for a language as simple as C#.
Not all problems have a program available to fix it for you, so why not make your own? And if you have a Pocket PC, you can easily take it with you! How cool is that.
Of course, the usability is dependable and not quite up there as it used to be, but that does not mean it can’t still be a learning/fun experience. Try, fix and learn!

Windows 7, Visual Studio and all other tools are all readily available nowadays, if you want to try it out with the Emulator you can easily start a Virtual Machine and try it that way. It’s how I made my first ported applications and well before switching to a laptop for development.

I hope you enjoyed this how-to, and happy programming to all of you!

Leave a Reply