I've been getting a lot of questions lately from users on how to get .NET Compact Framework 3.5 up and running since many applications nowadays require you to have this version installed and unfortunately stock ROMs still come with version 2.5 inside, fact that is usually generating errors with applications that require the latest version installed and thus not starting up. Read on for a Tutorial on how to upgrade to Microsoft .NET Compact Framework 3.5.
First of all, some terminology:
What is .NET Framework? Framework generally is a complete solution, a collection of tools for developers that would make development easier. .NET Framework comes from Microsoft, it is a collection of tools for development that comes with "an array of languages (C#, VB.NET, J#, to name a few), compilers, pre-made code and utilities in classes, controls, assemblies, etc". It is a platform that provides tools and technologies you need to build Networked Applications as well as Distributed Web Services and Web Applications. The .Net Framework provides the necessary compile time and run-time foundation to build and run any language that conforms to the Common Language Specification (CLS).
What is .NET Compact Framework? .NET Compact Framework is simply a version of the .NET Framework designed to run on Windows CE devices (mobile devices in general, PDAs, Smartphones, Pocket PCs).
For a deeper explanation, please read the following Wikipedia articles: general software framework, .NET Framework and .NET Compact Framework.
On to the tutorial! You need to follow the next steps in order to successfully install .NET Compact Framework 3.5 to your device:

  1. Download .NET Compact Framework 3.5 from Microsoft and save it on your PC.
  2. Run the downloaded MSI file and let it install.
  3. Connect your device to Activesync/Windows Mobile Device Center and finish the automatically launched installation on your device.
  4. Soft reset your device.
  5. Open a Registry editor and navigate to HKLMSoftwareMicrosoft.NETCompactFramework where you will see two entries for the (now two) existing version references: the old one, which came with your device and the new one you just installed.
  6. Change the DWord value of 3.5.7283.00 from 0 to 1 (thus enabling it) and all the other values (i.e.: 2.0.7045.00) from 1 to 0 (thus disabling it/them).
  7. Soft reset your device.
  8. Congratulations! You have upgraded to .NET Compact Framework 3.5.


Additionally, if you don't want to download the whole Redistributable package from Microsoft (thus skipping steps 1-3), download only the CAB file for .NET Compact Framework 3.5 from MoDaCo. Copy it to your device and install it to Device (not Storage Card/Internal Storage) followed by a soft reset (you'll still need to follow steps 5-7).
Further more, there's another CAB available over at MoDaCo, called .NET CF Configurator which was extracted from Microsoft's Power Toys for .NET Compact Framework and which shows the installed version(s) of .NET CF and sets device wide policy for .NET CF usage (thus skipping steps 5-7).
Another simple way to verify the version of .NET Compact Framework installed on your device (other than checking the registry as pointed) is to go to your device's Windows folder and launch an executable called cgacutil.exe . It will bring up a small window with the version number(s) of the .NET Framework version(s) installed on your device.