09-15-2009 01:18 PM
Solved! Go to Solution.
09-15-2009 01:54 PM
1) If the library is specified to be installed in the jar/alx file then it will overwrite the old version, which may break the original app.
2) No it will not prompt to upgrade unless you put in logic to check for an upgrade.
09-15-2009 02:02 PM
Woops, maybe I worded it wrong.
1. If two apps from different compaines were installed and they both used the same 3rd party library would it install the library twice or would it detect that a version that is greater then or equal too the library needed is installed and it would just install the app and not the library?
2. When you install a app and it detects that the library installed is older then the version used, would it update it upon install?
09-15-2009 03:00 PM
In my experience yes. During the update process if I've previously installed a library it will tell me theres a conflict, if the version is lower it also asks if i want to update (obviously say no) but it will prompt in my experience.
09-15-2009 03:16 PM
If I recall correctly, updates via BES OTA Push don't prompt the user.
Also, I vaguely remember (and I'm not sure whether it's true at all), that a combination of vendor name and module name is supposed to be used internally in the OS to uniquely identify modules. So, if that's true, in theory you could have several modules with the same name as long as they come from different vendors. I've never tried this and I'm a bit sceptical.
09-15-2009 06:34 PM
geeneeus, when you say "it will tell me theres a conflict" do you mean it will say a newer version exists that version already exists? Do you know if this happens when you install as well or only when you update an app?
klyubin the app is not what I care about, the library is what I care about.
I am working on a library which is, in my opinion, a VERY LONG way off from being released but I would like to release it. The problem is I have many things planned for the library (and use it for my own apps) and worry that the library which is about 1.5mb would get installed more than once and if I update my app or someone else using my library installs a newer version of the library that it just install another copy of the library instead of updating and overriding the older library.
I know that 1.5mb for a library is big and plan to have a split up version to reduce size but right now (since I don't think it is possible to have a "super" library and a smaller version of the library without changing/recompiling code and that you can't check if a more advanced version of the library is already installed).
That is the whole background on this question. If me, person A, company B, and group C all created apps using this library would the user get multple copies of this library? If an older one exists would it get replaced? If a newer one exists I doubt that the installation of the now-older version would not occur. I don't know if this information would benefit others but I don't want to make a library that would get released only to have it pull and iPhone and need 50mb to install because 10 other versions are already installed.
09-15-2009 06:41 PM
As long as the names of the .cod files never change then you will be prompted to update to a newer version or if there are conflicting version (equal or lower).
If you name it say MyAppLib.cod
and change it to AppLib.cod
then you will have two copies of essentially the same Library
So consistent names will ensure that the Library will always be updated with the latest one each time and the user am sure is smart enough to know which version number is higher so knows which one not to update on top of. Even if its a higher version thats currently being installed the user is prompted saying that a newer version is available and will give the user the option.
09-15-2009 06:59 PM