I am trying to push out an app from the BES to Blackberry Device. I know everything works fine because it has worked previously. I now have an older version of the application and I have created a Software Configuration for it (I have removed the original version of the app and re-indexed). I have also completely wiped the previous (although newer) version of the app from the device. Now when I assign the Software Configuration to the user the Blackberry Manager reports that a downgrade is required, which makes sense since the previously installed version was newer than this one, but since I have completely wiped this version from the device and the BM how does it still know which version was previously installed?
Is the information stored in the database and if so in which table/tables is this information stored?
Does the device maintain some sort of record of which version it previously had installed (I removed the previous version using javaloader if that makes a difference)?
The main reason I am asking this question is because the older version of the app won't push out to the device and I guess it is because it still thinks that I have a newer version installed, so I want to totally wipe all memory of the newer version from both the device and the BES. If I rebuild the app and give it a newer version number the push works fine.
Any suggestions??
For the record I have found the answer to my own question.
First of all, the BES knows that a downgrade is required by looking at the SyncDeviceMgmt table in the database and checking the version numbers that have already been pushed out to that particular device.
In my case the BES wasn't even trying to push the app out even though it was never previously installed and was also not listed in the database. The reason was that the ALX file being used specifed radio="GPRS", whereas the device.xml file specified radio="GPRS-WLAN" for the 8900 device I was using. So I guess it didn't like the mismatch and just ignored the rest of the ALX file.
I guess the solution would be to change the radio to use GPRS-WLAN, but then it probably wouldn't work for other devices. Instead I deleted it altogether and it worked :D