Saturday, April 25, 2009

"Update error" when installing SIS or SISX bundles

I came across a really useful service provided by Nokia, which gives you access to a pool of devices (real hardware) for testing.

Although I intended to use that for a different project, I thought I might try an app that I developed earlier, to see how it looks on different screen resolutions. To my surprise, the app failed to install on some phones, with the insightful error message "Update error". This is as bad as it gets in terms of usability on Nokia's side. It would have been nice to get a more detailed explanation to speed up the progress.

After a bit of digging it turns out was because my package had a file that already existed on the phone, that special c:\resource\errrd which, ironically, enables more detailed error messages. 

One lesson learned would be to ensure that all files installed by the app have a unique id, usually the app UID, somewhere in their full name (path included), to avoid collisions. Also, in hindsight I should have made a separate "enableDetailedErrMessages.sis" that would install c:\resource\errrd.

The other important lesson is to be more specific in the error messages. If there are more details that could assist the user, by all means be forthcoming.