Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Contributor
Posts: 11
Registered: ‎02-16-2010
My Device: 10k
My Carrier: Sim
Accepted Solution

Custom Persistable incompatible, OTA install fails, will App World install fail?

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:

[1] http://supportforums.blackberry.com/t5/Java-Development/Persistent-Store-Across-Application-Upgrades...

[2] http://supportforums.blackberry.com/t5/Java-Development/Best-Practices-for-Storing-Application-Confi...

 

 

Developer
Posts: 19,624
Registered: ‎07-14-2008
My Device: Not Specified

Re: Custom Persistable incompatible, OTA install fails, will App World install fail?

[ Edited ]

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. 

Contributor
Posts: 11
Registered: ‎02-16-2010
My Device: 10k
My Carrier: Sim

Re: Custom Persistable incompatible, OTA install fails, will App World install fail?

[ Edited ]

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?


 

New Contributor
Posts: 8
Registered: ‎04-27-2010
My Device: BlackBerry 9780
My Carrier: China Mobile

Re: Custom Persistable incompatible, OTA install fails, will App World install fail?

Hi, I have the same problem and did you find any solution? I am in searching this too, hope there is a way out :smileyhappy:
New Contributor
Posts: 8
Registered: ‎04-27-2010
My Device: BlackBerry 9780
My Carrier: China Mobile

Re: Custom Persistable incompatible, OTA install fails, will App World install fail?

Hi yuntao, In my place, my problem seems have gone by ... changing my "Vendor" name to the original one. OK, here is the story, I am going to change "Vendor" from let's say "Apple Computer Inc," to "Apple Inc," when we are going to release iPhone which reflects we are no longer a "Computer" only Inc,. However, maybe the signature of COD name includes "Vendor" and app name both. After change Vendor to the original one, I found no "The downloaded module is incompatible with data already stored on the device...".
Contributor
Posts: 11
Registered: ‎02-16-2010
My Device: 10k
My Carrier: Sim

Re: Custom Persistable incompatible, OTA install fails, will App World install fail?

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.

 

Developer
Posts: 19,624
Registered: ‎07-14-2008
My Device: Not Specified

Re: Custom Persistable incompatible, OTA install fails, will App World install fail?

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. 

Developer
Posts: 1,452
Registered: ‎11-06-2009
My Device: Torch 9810
My Carrier: WiFi

Re: Custom Persistable incompatible, OTA install fails, will App World install fail?

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



"When you become a level 3 developer, you learn to communicate over the ether. I'm told that level 5 developers are ascend into a higher level of existence beyond the physical realm." gord888 @ crackberry