A Java MIDlet can be pre-deployed by placing the MIDlet suite installation package to a predefined folder in local media (user area) or removable media (memory card).
In case the pre-deployed MIDlet resides in the removable media, the MIDlet gets installed when the memory card is inserted for the first time. After successful installation, the MIDlet suite installation package is deleted from the memory card, except when the memory card, or the JAD and JAR files of the MIDlet suite are set to read-only. If the installation fails, the installation package is left on the memory card.
The MIDlet pre-deployment installation process is performed silently, without any user interaction. If problems occur during the installation, no error messages are shown to the end user and the procedure fails silently.
Pre-deployed MIDlets have the following requirements:
In order for automatic installation to take place, the MIDlet suite must be digitally signed according to MSA standard for MIDP Signing. In practice, this means that the origin of the MIDlet suite must be verifiable.
MIDlet suite installation package must be placed in the path\system\data\midp2\preinstall
of
the source media. For example, in case of deploying from a memory card (default
drive letter e:
), you need to use the pathname e:\system\data\midp2\preinstall
.
Both the JAR and JAD file of the MIDlet suite must be present in the same installation source directory defined above. If this is not done, the deployment fails silently. The JAD file is essential as the MIDlet suite signature is placed to and read from it.
The JAR and JAD file names must be identical.
By default, the pre-deployed MIDlet gets installed to the memory card (device default destination). If a memory card is not present, the MIDlet is installed to the local media (device user area).
Note: The default destination can vary between devices. For example, there can be devices that do not have a removable media slot at all.
A pre-deployed MIDlet is visible to the end user through the device UI the same way as normally installed MIDlets. A pre-deployed MIDlet can be configured, updated, backed-up, restored, and uninstalled by the end user the same way as normally installed MIDlets.
Note: When a pre-deployed MIDlet is uninstalled, the same MIDlet (MIDlet with same name and vendor id) cannot be pre-deployed again in the same device. However, it is possible to package and sign the MIDlet with a changed name in order to pre-deploy it again. The same MIDlet can of course be deployed normally, for example using Bluetooth.
When a MIDlet-containing memory card is inserted on Series 40 devices, the pre-deployed MIDlet is run directly from the memory card. No files are deleted. If the MIDlet requires use of storage features such as Record Management System (RMS), the stored data is added to the memory card.
The user also has an option to manually transfer the removable media content to the mobile device.