OPX Version Safety

If an OPX author ever wants to distribute more than one version of an OPX with the same filename, to add new functions or to fix bugs, they must be careful to always distribute their OPX in an sis file package, so that users never copy older versions of the OPX over newer versions. As an OPL author using OPXs you should insist on a 'Version Safe' OPX.

What could happen if I use an OPX that is not 'Version Safe'?

Your users will contact you to ask why your program no longer runs, when they install some new software that uses an older version of the same OPX. If they copy an older OPX than the one you used to create your program OPL will not run your application - instead it displays a dialog saying 'Incorrect OPX version' and all the user can do is quit, before even a line of your code has run! When your user copies an OPX from a zip file to \system\OPX they cannot tell they are putting an old version over a new one. However EPOC Install can, if you only use OPX's stored in sis files. EPOC Install will then ensure (by only upgrading files) that all software sharing the OPX continues to work. It is up to the OPX author to guarantee (and I wouldn't use an OPX from someone who didn't) backward compatibility between versions.

How do I make my OPX 'Version Safe'?

Always redistribute your OPX in a .sis file. If authors desire they can include this in their application's sis file, or simply add it to the zip file they distribute their application in.

The application I downloaded does not use 'Version Safe' OPXs - what should I do?

Don't Panic! Nothing bad is likely to happen. As you install other applications using the same OPX, watch out for a program that displays a dialog 'Incorrect OPX version', listing the problem OPX. Now the fun starts - you need to find all the programs on your system using that OPX and try each copy of the OPX that you have until you find one that works with all your programs. You should be able to find one - it is just a question of trial and error!



This page © John McAleely, July 2001