Windows Mobile 6.5.3 DTK In Visual Studio 2008
I can’t believe how much of pain getting my core Windows Mobile 6.5 development enviroment setup could be. Here are the hoops I’ve had to jump through so far. I ran into two really annoying hurdles which I couldn’t find a solution for so I thought I’d note down what I did for any other people lucky enough to be in the same boat as yours truly. For the record, I’m trying to write my first 6.5 app for my HTC HD2. That is a WVGA phone which means it has a resolution of 480×800.
- Get and install Visual Studio 2008. The latest Microsoft MAPS Development & Design program that I’m a member of only has VS 2010 in it because I’m soooo cutting edge. 2010 doesn’t currently allow you to develop for WinMo 6.5 but only the shiney new (as in unreleased) Windows Phone 7.
- Download and install the Windows Mobile 6 Professional Refresh SDKs.
- Download and install the Windows Mobile 6.5.3 Professional DTKs.
Takes bloody ages to do all of that even though it only takes a few mouse clicks. I read that the difference between the “Standard” and “Professional” versions of the SDK and DTK are that the standard version is for non touch screen devices were as the professional edition is. Since I’m developing for a HTC HD2 which has a touch screen I went with the pro editions for both. So now that’s all done it should be a simple case of firing up VS2008, choosing new “Smart Device” project using the 3.5 compact framework and away we go. A-ha! Not so. The next screen lets you pick a target platform. There is no Windows Mobile 6.5 in the selection. This is were the workarounds kick in.
- Pick “Windows Mobile 6 Professional SDK” and leave the framework set to 3.5 compact. Well for my project I’m using the 3.5 framework. Choose what you like for that.
- Choose “Device Application” since I’m creating a new app from scratch.
- Now you’re presented with a form that looks like an older WinMo 6 device using the default “classic” skin and form factor.
- Not a biggy I hear you say, why not just pick the 6.5 form factor from the “Form Factor” property? Because it’s not there, that’s why!
- OK, ignore that for now, at least we can test run the WinMo 6.5 emulator right? Nope. Look at the emulator dropdown and you won’t see it.
What is going on? Well it seems a bunch of things have not been wired up correctly. Time to sort the mess out.
- On the main menu choose “Project->Change Target Platform”. In the dropdown choose “Windows Mobile 6.5.3 Professional DTK” and then OK.
- You’ll be told that your project needs to be saved and re-opened so OK that. Now when it opens you can see the 6.5.3 emulators in the dropdown. Hoora!
- For me and my HD2 development I chose the “Windows Mobile 6.5.3 Professional WVGA Emulator”.
- So now we head back to the form properties. When the target platform was changed and it re-opened the project it closed the default form window so I have to re-open that with a quick double click.
- Selecting the form and looking at it’s properties there is still no WVGA option. WTF? I know, that’s what I was like. Seems some silly sausage at MS made a typo. If you look at the Form Factor list you’ll see two entries titled “Windows Mobile 6.5.3 Professional Square”. How strange you say. Before we proceed make sure you don’t have either of the two identically named Square form factors chosen at this point. I’ll explain why later on.
- Let’s make things clearer for future projects. On the main menu do “Tools->Options->Device Tools->Form Factors”. Make sure the top dropdown says “Windows Mobile 6.5.3 Professional DTK”.
- In the list below the dropdown you’ll see the two Square entries. Select the first one and hit Properties. On the greyed out “Skin Defaults” area check to see if the width and height are 480×800. If not then check the second Square entry.
- Once you’ve found the right one, get out of the Properties panel and hit the Rename option and change it to be “Windows Mobile 6.5.3 Professional WVGA”.
- A nice little extra step here is to move out of the “Form Factors” sub category and go up one to the “Devices” area. I set the “Default Device” to be the “Windows Mobile 6.5.3 Professional WVGA Emulator” which means each time I create a new 6.5.3 project it will automatically select the correct emulator. I’ll still have to manually pick the correct form factor but I’m fine with that.
- Now close VS and re-open it. When you re-load your project and look at the Form Factor dropdown you should now see your renamed WVGA option.
- Note that if you had cheated and tried selecting the Square option we renamed earlier before you saved and restarted then you will still see the two Sqaure options. It’s very important that you don’t pick the Form Factor we renamed before we renamed it.
- That’s it. You now have a WVGA form to work with at design time and you can also test it in the 6.5.3 WVGA emulator all from within the VS2008 IDE.
So the process for creating a new HD2 application becomes:
- Open VS and create a new Windows Professional 6, Device Application.
- On the main menu choose “Project->Change Target Platform”. In the dropdown choose “Windows Mobile 6.5.3 Professional DTK” and then OK.
- Let it save and re-open the project and then manually re-open the design time form screen by double clicking the form CS file.
- Then change the Form Factor dropdown to the WVGA option we renamed earlied.
- Ready to rumble!
As you can see there are still a few steps to have to do each time but it’s not too bad now and only has to be done when creating a new project or converting an old one.
Comments: 18
Thankyou, this is the most informative and useful blog entry that I personally have come across. I made numerous attempts to develop applications for my HTC HD2 and could not in any way figure out how to change the form factor to that of WVGA. This has helped tremendously, thank you kindly.
Helped Me ! Thx
Sir, I salute you. You are a gentleman and a scholar. You saved my many hours of headaches.
Dude, I wish I’d found this tutorial before I’d started getting the 6.5.3 SDK up and running. I basically just went through everything you did, so finding this blog made me smirk with sadistic pleasure – at least someone else went through what I had to!
Thanks for the most usefull info I found today 😀
After hours of searching on the M$ website, and using terrible SERPs from google I finaly found your blog….
It must have saved me HOURS and HOURS of frustration 🙂
Regards,
Martijn
Thanks a lot. That was helpfull.
Thanks so much for this. I have been going through the same pain myself and finally managed to find your very helpful blog entry. I have to say it really saved me from even more pain.
Thanks
Thanx dude! Almost gave up after the 10th WTF
Now I know how to fix all the samples that came with the DTK/SDK
Busy with a GPS Windscreen Speedometer with mirror, flip and night option. (-;b
Very useful information. Thank you.
You as a HD2 developer (and all other WM developers as well) might be interested in the HTC HD2 emulator skin that I have created. Check out this thread over at xda-developers:
http://forum.xda-developers.com/showthread.php?p=8045502
Thanks David, I am about to start some new projects for WVGA devices so I guess I have this to look forward to.
I am interested in your comment that this was not needed to convert older apps? I am trying to convert apps written for the old i-Mate PDA2k and similar. Is there an easy way to do this?
Your input would be very welcome.
Thanks.
I’m not sure which comment you are referring to. I actually decided not to develop any WM 6.5 applications and instead will be focusing on the Windows Phone 7 and iPhone platforms.
Thanks!!!! You really are a team player not as the ones that I have at work… I am a women Engineer, not easy 🙁
Saved me tons of work.
Here are the SDK links
Windows Mobile 6 Professional and Standard Software Development Kits Refresh
http://www.microsoft.com/download/en/details.aspx?id=6135
Windows Mobile 6.5 Developer Tool Kit
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17284
Thank you so much! This helped so much!!
The “project – change target platform” hint was super useful for me. I was struggling to create an empty project and run it on the 6.5.3 version emulator. Your trick saved my day. Thank you!
So now the device maker has a new device which uses Windows Embedded Handheld 6.5 Classic and under the Version info on the device is CE OS 5.2.29084 Build 29084.5.3.12.11 Processor is Marvell PXA320 I’ve spent all morning searching to see what I needed to develop for this device and found that Windows Embedded Handheld 6.5 Classic is based on Windows Mobile 6.5. And from here I enter the murky world of overlapping definitions, SDKs, Visual Studio versions supported or not etc. So I choose the only other template which is Windows Mobile 6.5.3 Professional.
So I choose the only other template which is Windows Mobile 6.5.3 Professional. I immediately get an error “Error retrieving from the user datastore. Platform not found.” I click OK and another Error pops up “The project could not be opened because it refers to a device platform that does not exist in your datastore”.
Press OK, OK 7 In Options, choose Device Tools Form Factors Windows Mobile 6 Professional, press Save As… Select it and click on Properties… 8 Change the skin file-path to point to the ppc-phone-800×480.xml file in the ppc-phone-800×480 folder.