I recently inherited a large mobile application, and one of the things I'm looking to improve is its installation/update process. Right now, company policy is, whenever a new version is released, we released a new CAB file and it's manually copied to each of the PDAs it runs on. This also includes manually copying CAB files for SQL Server Compact and Compact Framework 3.5.
I'm replacing this with a little bootloader application, which will check with our server for things like updates in the application, but will also check if the compact framework and SQL Server compact are installed (and if not, will get the CAB files from the server and install them). A lot of newer Windows Mobile 6.5 devices come with the Compact Framework 3.5 installed, but not all of them. I want this bootloader to run on pretty much any device, so with that in mind, would it be more reliable to do this in native code (c++) or Compact Framework 1.0? Are there some devices that just don't come with CF at all?