Hello, i've tested the compilation with /nostdlib and it works fine but removing the reference to mscorlib.dll i loose Lambda and reflection. Is possible to add this libraries to my custom windows mobile application?
Firstly, I'd like to say thank you to Joel Johnson for writing a superb article. After following the instructions, and with a little help from the questions previously asked and answered, I had a HelloWorld program running on the emulator (using laptop and Vista 32 bit) - though I've yet to test it on an actual device.
Now, as the message title suggests, I'd now like to find out is how to develop for the Windows CE 5.0 platform. I understand this can be done using Visual Studio (VS) and the Platform Builder (PB) plug-in; however, I'd like to find an alternative environment which follows the article's 'free' principles.
I will admit I originally (and naively) hoped I could whip up something for Windows Mobile and it would magically work for on Windows CE 5.0, but that is clearly not the case.
Can I achieve this using SharpDevelop? Can I make some adaptations to the original article to create something for Windows CE 5.0?
As I mentioned above, I'm aware of VS/PB, and also the no longer supported precursor eMbedded Visual C++ SDK (I believe the latter is not particularly Vista friendly, unless using a Virtual PC, which I'd like to avoid if possible - I may be open to using an XP machine/dual boot OS).
Thanks for posting such a great article, it really save me from a lot of frustating trying to setup a windows mobile development using sharpdevelop.
Right now I have a little problem for downloading the sdk installer, cause it's huge size (354 MB) and the internet bandwith in my area is really poor. But one of my friend has a visual studio 2005 installer, what I want to ask you is the .net sdk has already in the visual studio 2005 installer cd, so i can copy it and don't have to download it? If it exist, please tell me in which folder I will get the .net framework sdk installer in visual studio 2005 installer cd.
I will looking forward for your reply.
Really thanks a lot.
We just need to do our best, and let God do the rest.
Private lblHello As Label
Private btnClose As Button
Public Sub New()
Me.Text = "Hello World Sample"
btnClose = New Button()
lblHello = New Label()
AddHandler btnClose.Click, AddressOf btnClose_Click
btnClose.Text = "Close"
btnClose.Location = New Point(10, 100)
btnClose.Size = New Size(200, 50)
lblHello.Text = "Hello World!"
lblHello.Location = New Point(10, 10)
lblHello.Size = New Size(200, 50)
Private Sub btnClose_Click(ByVal sender As Object, ByVal args As EventArgs)
Overloads Shared Sub Main(ByVal args() As String)
Dim mainForm As New HelloWorldForm()
I see that CF doesn't have this "class System.ComponentModel". I don't have enough knowledge about it.
Could you help me to understand if I there is any workaround to allow serializing these properties at designtime ?, I mean Columns and ppc.Controls.ExTLV.ListViewItemConverter ?
What is the minimum toolset i need when i want to develop C++ Applications on WM6? I'm specially interested in developing Today Plugins. I have done this before with Embedded Visual C++, but thats not up to date. Do i need a full Visual Studio 2005?
Unfortunatly there is no free solution for doing C++/Native development. You will want to have Visual Studio 2008 Professional or better. I've seen a lot of people get the Standard edition before they discover that they cannot use it for Smart Device or development. While Visual Studio 2005 Standard or better would also work I would advise against it since it won't work with the .Net 3.5 Framework should you ever decide to use it.
It is possible on the desktop because a .Net DLL can be hosted in an application domain that is owned by an unmanaged (in this case take unmanaged to mean MFC) process. But on smart devices this functionality is not supported.
I just found that all that you need installed on your computer are the .NET Compact framework redistributables + the Power Toy.
Windows will typically have the .NET redistributable already installed.... so all you really need to get this up & running is about 40MBs of these two files instead of the 1GB+ of the SDKs from microsoft's site. Of course, this way you won't get any documentation on your machine... it'll be available only on the net.
I just compiled the source above as given & it runs on my PPC Thanks for sharing the details on the folders etc really helped out since i was able to verify that the redistributables copied the required files
Hi. Thank you again for this very useful article.
I have already tried a test program to run in my mobile device. I got them to run copying the executable file in the memory.
But in order to "formally" install or deploy a program to a mobile device, how can be done?
I have read about CAB files, and installing options for wm6 but I can't find a useful and informative place to learn about that.
Maybe I am missing something, but how were you able to get the Windows Mobile 6 SDK to install? The version that I have requires Visual Studio 2005 or higher. Ive been using sharp develop to program with CF .Net v3.5 for about 2 months and I love it. But I cant get some of the additional api's to work as they only appear to come with the WM6 Sdk.
Any help is much appreciated.
To explain what I am doing:
My goal is to design an open source program that will interact with the camera and automatically upload images to Menalto Gallery 2 (gallery.menalto.com).
Ive got the interaction with the gallery worked out, but I cant get into the camera functions.
Also, Great article, its the most helpful one that I have seen.
I'll have to find a machine that doesn't have Visual Studio installed to go through the steps again to see what's missing. The absence of the SDK shouldn't prevent you from having access to any of the APIs. The SDK's primary value is in the sample code it provides.
To get access to the camera you need to use the CameraCaptureDialog class. You need to add a reference to Microsof.WindowsMobile.Forms to use it. Unfortunatly you'll find that there's not really support for taking photographs in an automated fashion.
After several hundred MB of downloads and many frustrating hours, I haven't solved this either, and have come to the conclusion that most people (Microsoft included) use the terms "Compact Framework" and "Windows Mobile" interchangeably, when this is not the case. Compact Framework on its own (as installed with Windows and .NET SDKs) gives access to a very limited subset of functionality, none of it specific to Windows Mobile. Useful as it is, at best this article should be called "Compact Framework development without Visual Studio". Confusingly, the CF includes a Microsoft.WindowsMobile.DirectX assembly, but this is the only thing which even remotely looks like WinMo. No telephony, no Pocket Outlook, etc.
The WinMo stuff builds on top of CF, and is referred to everywhere as part of it, despite having to be installed by separate Windows Mobile SDKs, which in turn require a non-express version of Visual Studio. Far too much time wasted on this :P My threshold for pain does not extend to pinvoking every single unmanaged equivalent.
I just sent a request to CodeProject.com to remove the link for the Windows Mobile SDK download since it seems to be unnecessary.
You'll find the Pocket Outlook functionality in the Microsoft.WindowsMobile.PocketOutlook namespace.
With or without Visual Studio you'll find that the lower level functionality is not exposed directly through the .Net framework. It has to be accessed through the use of the Platform Invoke (aka P/Invoke) functionality. Most of the Windows Mobile related articles that I've posted on CodeProject.com will use P/Invoke for at least one thing. If you would rather not familiarize yourself with P/Invokes there are Compact Framework based libraries available that contain the necessary declarations to get to a lot of the low level functionality such as the OpenNetCF Smart Device Framework (earlier versions are free, the latest version usually has a cost. You can find more information here:http://www.opennetcf.com/FreeSoftware/SDF1x/tabid/91/Default.aspx[^]). The telephony functionality you seek can be found in the namespace OpenNETCF.Phone. There are also many other Windows Mobile articles here on CodeProject that contain the P/Invokes to get to a lot of functionality.
I think changing the title of this article would defeat my original intent. My original intent was to provide some solution for those with Windows Mobile devices that wished to begin programming for them but were unable to acquire Visual Studio. People with this intent seem to most frequently use the search phrase "Windows Mobile Development Without Visual Studio" much more often than "Compact Framework Development without Visual Studio" (I've also found that many beginers don't know what the Compact Framework is, which may explain why it's not used in their search queries as often).
The Compact Framework was made for Windows Embedded CE. Windows Mobile is a Windoes Embedded CE derived operating system. But those doing non-Windows Mobile development for CE based platforms will already have Visual Studio for working with their BSP (Board Support Packages) and building their OS images. So it is more fitting that this article target those that are seeking to do Windows Mobile development.
Thanks for the response; you've spent a lot of time looking into this. It makes sense that more people are likely to be looking for "Windows Mobile" than "Compact Framework" development, and this is part of my (sleep deprivation-fuelled) gripe about the fuzzy boundary between the terms. No criticism of the article intended.
The managed Pocket Outlook stuff (and indeed anything else in the Microsoft.WindowsMobile namespace except DirectX) seems only to be available if you have a Windows Mobile SDK installed. The CF assemblies installed with standard .NET SDKs (and presumably Visual Studio, though I don't know) don't have it. I have nothing against pinvoke, and am certain the managed stuff in the WinMo SDK is still quite limited compared to what can be done with native code, but when I know there's already a library for Pocket Outlook specifically, I'd prefer not to reinvent the wheel!
Thanks for the pointer to the SDF; I'll definitely be taking a look at that and your other articles.
After much continued searching, I found someone who's managed to install the WinMo 5.0 SDK without VS:
first I'd like to join others in thanking you for an easy, concise and highly informative article.
I'm developing on #develop for over a year now, and must say i like it very much, so i checked out the new version when I was asked about CF 3.0. you just saved me a lot of frustrations with that powertoys tip so thanks.
you mentioned that VS, unlike #develop, has a visual GUI editor and that creating events is a piece of cake, hinting it's not so in #develop. that's not strictly correct: if you use the built in wizard and add a new form, it opens as source but adds 2 small tabs positioned under the text editor, called "source" and "design". clicking the design tab will give you a visual GUI editor very similar to VS's one, and event definition is likewise very similar and easy. I actually just created a small compact framework project, to make sure it works in a compact framework solution as usual. the only bug is that the default code generated in the InitializeComponents() method is still not compact framework but regular framework, and I got a couple of errors (setting the UseVisualStyleBackColor property of a Button creates an error, and setting the tabIndex of a Label generates a warning that this feature is not supported in compact framework). Still, you can definitely graphically edit and manage your app's GUI and related events.
Even after working on 4 Visual Studio versions at my previous job (VS6, .NET pro,2003 pro, 2005 pro) I must say that when developing pure C# apps (as opposed to C#/C++ mix where VS is the only decent solution I know of) #develop (2.0, I installed 3.0 only a few days ago and almost didn't tinker with it yet) is as good as or better in all accounts except the debugger. it used to drive me crazy. so I went looking and found out that in the .NET framework 2.0 SDK (the same installer you posted) under tools is the CLR debugger, which is essentially the VS debugger only without color coding and for free. apparently it can debug compact framework apps as well, though not through an emulator. this plus the emulators microsoft provided might give a partial solution. its not ODD (on-device-debug), but, hi, it a start...
once again thank you for an enlightening article
Last Visit: 31-Dec-99 19:00 Last Update: 21-Feb-24 22:00