Wednesday, February 21, 2007

So we often face the issue of how we deploy applications to mobile devices.  Currently (well at least until Windows Mobile 6 is mainstream) we have to deploy various CAB files to the device before a line of business application can run on a device.

Now I know lots of hardware vendors have ways of pushing out applications to devices, but I wanted something that would work for all.

So this is what we do.

Screenshot shows a web-page with all the required cabs.   Its a simple asp.net application that enumerates .cab files in a given directory.

At the bottom is a list of our primary LOB applications and corresponding version number.    This data comes from a SQL table that is (and here's the magic)  replicated via SQL Compact to the device.


Over on the mobile device when our application starts it compares the assembly version of the running application with that it has in the mobile application version table.    If they are different a new application cab is downloaded from the shown web-page and installed.

We achieve the version upgrade by using a separate .Net Compact Framework application that is launched from the application automatically downloads the required cab and installs.

Once download is complete the newly upgraded application is re-launched, with a command line parameter to pop up a message saying that the application has been upgraded.

This is a massive time saver,  as it means we can automate the whole process of managing and controlling deployment.

Anyone else do anything similar?


 

Theme design by Jelle Druyts

Pick a theme: