views:

318

answers:

4

I want to be able to push out application updates to windows mobile 5 devices over the air, is this possible? Note, this is just an application, not a rom update.

It doesn't have to be a strict push. It is just as well to have the user go to a web page and download a .cab file. Has anyone had success doing this?

+2  A: 

If by "over the air" you mean wi-fi, then yes, I've done this.

At first I gave my users a step by step (close the app, open Internet Explorer, visit this page, click this link etc), but in recent versions of my app I've provided an "Update" menu item, which (after prompting) starts a download/run of a cab file before exiting the program. The time it takes to download the cab file is more than enough for the exe to stop running, so there hasn't been any problem with the process being in memory while it tries to update.

Matt Hamilton
So if I put the cab on a webserver, can you be more specific about how to do the download/run in CF3.5? Is it like a shellex for the url, or more complicated than that?
I don't have the code with me, but from memory it was as simple as calling System.Diagnostics.Process.Start("http://example.com/foo.cab");
Matt Hamilton
A: 

Another simple way of updating a Windows Mobile app is to have the application call a web service and get the latest version of itself (the latest EXE file) as a byte array. The running application then renames itself (from "MyApp.exe" to "MyApp.old"), saves the byte array as a file with the old name ("MyApp.exe"), notifies the user and then closes. When the user restarts the app, the new version starts and deletes the "MyApp.old" file.

MusiGenesis
A: 

For version management, consider updating the application via an Appcast. See here for more info: http://connectedflow.com/appcasting/. This way you will only pull down the CAB file when the users software is out of date.

mjf
A: 

If a commercial app is an option and if you want to run an update with multiple cab files (say your app and the .NET framework), you can checkout link text, It is a tool to create multi cab installations for windows mobile