04-14-2010 06:25 PM
Hi BlackBerry developers,
I have changed my app's custom Persistable object such that when I do an OTA install now, it shows
1. "The downloaded module is incompatible with data already stored on the device..."
2. "Download failed."
3. "907 Invalid COD"
After researching, this seemed to be caused by the fact that the custom Persistable is now incompatible with the old one. [1] [2]
My question is, if I push the new version containing the change to BlackBerry App World, will the App World upgrade process fail in the same way? How about upgrade via Desktop Manager, will it fail too?
Thanks!
References:
Solved! Go to Solution.
04-14-2010 06:42 PM - edited 04-14-2010 06:43 PM
Haven't ever tried this on App World (and to be honest, have no intention of doing so....), but I can confirm that a DTM install will fail, with an equally mystifying message.
04-14-2010 07:11 PM - edited 04-14-2010 07:15 PM
Thanks for the reply, Peter.
Are there any solutions to this issue?
I know one solution is to do an uninstall first, which would delete the custom Persistable from the old version. But it is unintuitive for most end users.
I also tried to restore the modified custom Persistable class, in hope the "compatibility verifier" can match the class. But somehow, even after doing that, I still get the same message.
To be clear, I have tried the following scenarios:
Scenario 1:
- Old version of the app contains com.me.myPersistable, which is persisted.
- New version of the app does not contain myPersistable, but contains myPersistableTwo.
- Upon OTA upgrade, I get error message and upgrade fails.
Scenario 2:
- Old version of the app contains com.me.myPersistable, which is persisted.
- New version keeps myPersistable, and adds myPersistableTwo.
- Upon OTA upgrade, it still fails.
I have the impression that Scenario 2 is supposed to work. Is that not true?
05-12-2010 11:14 PM
05-12-2010 11:32 PM
05-18-2010 10:25 PM
kcome, in my case, the error was caused not by Vendor name change, but by Persistable object changes.
The answer to my question was the following:
MyApp v1.0 contains original Persistable object.
MyApp v2.0 contains modified Persistable object.
If v1.0 was installed via BlackBerry App World, and I try to install v2.0 via OTA, installation will fail with the described error.
If v1.0 was installed via BlackBerry App World, and I try to install v2.0 via BlackBerry App World, installation will succeed.
If v1.0 was installed via OTA, and I try to install v2.0 via OTA, installation will succeed.
Basically if you use the same installation method, it can handle Persistable object changes. Otherwise, you will have to uninstall and then install.
11-21-2010 08:14 PM
The results above are not what I see.
In my experience, regardless of installation method, if the persistent store object 'signature' has changed, it will NOT install over the top.
11-25-2010 09:09 AM
Not sure if I add any value to the discussion, but I have observed such behavior
App v 1.0 holds myObject (custom Persistable)
App v 2.0 holds modified myObject (I have added additional attribute)
App update is just fine, however all previously saved data is lost