WM5 devices do not include the .NET CF v2, so when you try to run applications that require it on such a device you receive an error message informing you that you do not have the correct version of the framework installed. The good news is that the .NET CF v2 supports older version of the framework as well, in other words there is no need for having multiple version of the framework running side by side. The bad news is that installing .NET CF v2 is not as straight forward as you would have thought.

 

Your first move would be to download the .NET Compact Framework 2.0 Redistributable from Microsoft’s website. After all, the page does say that WM5 devices are supported:

 

Supported Device Operating Systems:

Windows Mobile Software for Pocket PC 2003, Windows Mobile 5.0 for PocketPC and Smartphone, Windows CE .NET 5.0 and higher.

 

Well, don’t do it as you won’t get far. The redistributable does support WM5 devices, but the actual installer does not. When I tried it I got an error message informing me that the package being installed was corrupt. Not sure what the actual underlying problem is, some blog posts seem to be attributing this to tighter security in WM5, but the message seems a bit strange to me. In any case, the correct approach is to use the .CAB file that is specific to WM5. If you have the WM5 SDK installed, you will find it on your hard drive, usually in the following directory:

 

C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\armv4i

 

You can probably guess by the filename, but the .CAB file you need is NETCFv2.wm.armv4i.cab. Transfer that across to your device and install it by just browsing to it and executing it. Now, you will probably receive an error message saying that there was an issue with the installation and that you need to close any running applications before you try again. Don’t bother closing all running applications, it will most likely not be enough; just reset the device.